添加依赖
compile 'org.greenrobot:eventbus:3.0.0'
在需要发送消息的页面添加
EventBus.getDefault().post(new MessageEvent());
其中post里的内容可以是string值,MessageEvent为自定义的类。
在需要接收消息的页面要添加注册和注销
@Override public void onStart() { super.onStart(); if (!EventBus.getDefault().isRegistered(this)) { EventBus.getDefault().register(this); } } @Override public void onDestroy() { super.onDestroy(); EventBus.getDefault().unregister(this); }
接收方法
@Subscribe(threadMode = ThreadMode.MAIN) public void onMessageEvent(MessageEvent event) {/* Do something */};
onMessageEvent可以随意命名,关联时是以(MessageEvent event)为目标,匹配上就会去执行,如果是string值就需要自己去判断。
ThreadMode.MAIN表示在主线程中运行。
其中ThreadMode总共有4种:
1.ThreadMode.POSTING在同线程中运行
2.ThreadMode.MAIN在主线程中运行
3.ThreadMode.BACKGROUND在子线程中运行
4.ThreadMode.ASYNC在新的子线程中运行