依赖:

implementation 'org.greenrobot:eventbus:3.0.0'

详细内容:https://www.jianshu.com/p/f9ae5691e1bb

1.布局

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity"
    android:orientation="vertical">

   <Button
       android:id="@+id/button"
       android:layout_width="wrap_content"
       android:layout_height="wrap_content"
       android:text="跳转"/>
    <TextView
        android:id="@+id/text"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="今天礼拜天"/>

</LinearLayout>

2.需要写一个Message类  传值

package com.bw.ymy.text1_eventbus;

public class MessageEvent {
    private String message;
    public  MessageEvent(String message){
        this.message=message;
    }
    public String getMessage() {
        return message;
    }

    public void setMessage(String message) {
        this.message = message;
    }

}

3.主页面内容

package com.bw.ymy.text1_eventbus;

import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;

import org.greenrobot.eventbus.EventBus;
import org.greenrobot.eventbus.Subscribe;
import org.greenrobot.eventbus.ThreadMode;

public class MainActivity extends AppCompatActivity {
    private Button mbutton;
    private TextView mtext;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        //首先需要注册事件
        EventBus.getDefault().register(this);
        //获取资源id
        mbutton=findViewById(R.id.button);
        mtext=findViewById(R.id.text);
        mtext.setText("今天是礼拜三");
        //点击跳转
        mbutton.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Intent intent=new Intent(MainActivity.this,Main2Activity.class);
                startActivity(intent);
            }
        });
    }
    //
    @Subscribe(threadMode = ThreadMode.MAIN)
    public void  Evect(MessageEvent messageEvent)
    {
        mtext.setText(messageEvent.getMessage());
    }
    //解除注册
    @Override
    protected void onDestroy() {
        super.onDestroy();
       if(EventBus.getDefault().isRegistered(this))
       {
           EventBus.getDefault().unregister(this);
       }
    }
}

4.跳转到页面的布局

<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".Main2Activity">
    <Button
        android:id="@+id/button1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="XXX"/>

</android.support.constraint.ConstraintLayout>

5.主页面

package com.bw.ymy.text1_eventbus;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;

import org.greenrobot.eventbus.EventBus;

public class Main2Activity extends AppCompatActivity {
    private Button button;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main2);
        button=findViewById(R.id.button1);

        button.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                EventBus.getDefault().post(new MessageEvent("喜迎2019,发发发"));
                //销毁
                finish();
            }
        });
    }
}

效果图:

点击跳转 进去 再点击 把值携带过来

EventBus传值

相关文章:

  • 2021-12-20
  • 2021-07-25
  • 2022-12-23
  • 2021-08-29
  • 2022-01-19
  • 2022-01-06
  • 2021-05-29
  • 2021-05-07
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-09-26
  • 2022-12-23
  • 2021-07-14
  • 2022-03-07
相关资源
相似解决方案