public class EventBusBase {
private static EventBus eventBus;
public static EventBus getInstance(){
if(eventBus == null){
synchronized (EventBus.class){
if(eventBus == null)
eventBus = new EventBus();
}
}
return eventBus;
}
}
public class MainActivity extends AppCompatActivity {
TextView tv_msg;
public void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
EventBus.getDefault().register(this);
Button btn_toTwo = (Button)findViewById(R.id.btn_toTwo);
btn_toTwo.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(MainActivity.this,TwoActivity.class);
//startActivity(intent);
TestBean bean = new TestBean();
bean.msg = "MainActivity TestBean";
EventBus.getDefault().post(bean);
}
});
tv_msg = (TextView)findViewById(R.id.tv_msg);
Button btn_sendMsg = (Button)findViewById(R.id.btn_sendMsg);
btn_sendMsg.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
TwoBean bean = new TwoBean();
bean.msg = "MainActivity TwoBean";
EventBusBase.getInstance().post(bean);
}
});
}
@Subscribe(priority = 3,threadMode = ThreadMode.MAIN)
public void onMessageEvent(TestBean event) {
Log.v("zzw","MainActivity");
}
@Override
public void onDestroy() {
EventBus.getDefault().unregister(this);
super.onDestroy();
}
}
public class ThreeActivity extends AppCompatActivity {
TextView tv_msg;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_three);
EventBusBase.getInstance().register(this);
EventBus.getDefault().register(this);
Button btn_sendMsg = (Button)findViewById(R.id.btn_sendMsg);
btn_sendMsg.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
TestBean bean = new TestBean();
bean.id = 3;
bean.msg = "来自ThreeActivity的消息";
EventBus.getDefault().postSticky(bean);
Toast.makeText(ThreeActivity.this,bean.msg,Toast.LENGTH_SHORT).show();
Intent intent = new Intent(ThreeActivity.this,TwoActivity.class);
startActivity(intent);
}
});
tv_msg = (TextView)findViewById(R.id.tv_msg);
}
@Override
public void onDestroy() {
EventBusBase.getInstance().unregister(this);
EventBus.getDefault().unregister(this);
super.onDestroy();
}
@Subscribe(threadMode = ThreadMode.MAIN)
public void onMessageEvent(TestBean event) {
Log.v("zzw",event.msg);
tv_msg.setText(event.msg);
}
@Subscribe(threadMode = ThreadMode.MAIN)
public void onMessageEvent(TwoBean event) {
Log.v("zzw",event.msg);
}
}