About EventBus used

The first step: add dependencies

 compile 'org.greenrobot:eventbus:3.0.0'

Step two: Define the message event classes

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; } } 

The third step: registration and deregistration

FirstActivity respectively in the onCreate () method and onDestory () method, the EventBus registration and deregistration.

//接收activate public class FirstActivity extends AppCompatActivity { private Button mButton; private TextView mText; @Override protected void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.first_activity); mButton = (Button) findViewById(R.id.btn1); mText = (TextView) findViewById(R.id.tv1); mText.setText("今天是星期三");
//在需要订阅事件的地方注册事件 EventBus.getDefault().register(this); jumpActivity(); } //点击事件 private void jumpActivity() { mButton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Intent intent=new Intent(FirstActivity.this,SecondActivity.class); startActivity(intent); } }); } //接收 @Subscribe(threadMode = ThreadMode.MAIN) public void Event(MessageEvent messageEvent) { mText.setText(messageEvent.getMessage()); } //销毁 @Override protected void onDestroy() { super.onDestroy(); if(EventBus.getDefault().isRegistered(this)) { EventBus.getDefault().unregister(this); } } }

Event Processing

Here, the event processing thread in the main thread, because I want to show TextView value.
Transmission of events in SecondActivity go. (Sending events)

public class SecondActivity extends AppCompatActivity { private Button mButton2; @Override protected void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.second_activity); mButton2=(Button) findViewById(R.id.btn2); jumpActivity(); } private void jumpActivity() { mButton2.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) {
//发送 EventBus.getDefault().post(new MessageEvent("欢迎大家浏览我写的博客")); finish(); } }); } }




Guess you like

Origin www.cnblogs.com/sunjian43792901/p/11130279.html