简单的提示一下,当我们接触eventbus的目的,就是为了减少一些复杂的接口回调,使它们解耦或者组件间的通信,简单高效的对一下组件的通信和广播的优化,从而更清晰管理自己的项目需求,简单记录一下:
1.添加依赖:
implementation 'org.greenrobot:eventbus:3.1.1'
2.这里简单的了解一下eventbus怎么去使用。
第一步(注册事件接收对象,最后接收的地方)
// 注册对象
EventBus.getDefault().register(this);
//该页面activity主线程下,拿到接收值
@Subscribe(threadMode = ThreadMode.MAIN)
public void messageEventBus(TagEventBus event) {
ViseLog.i("tagEventBus:" + event.tag); //打印出 123
}
//注销页面
EventBus.getDefault().unregister(this);
第二步(事件定义,字符串)
/**
* 用来保存切换页面的标识符
*/
public class TagEventBus {
public String tag;
public TagEventBus(String tag) {
this.tag = tag;
}
}
第三步(向已经注册的事件的对象,触发发送消息的地方)
EventBus.getDefault().post(new TagEventBus("123");