什么是事件总线
如果你不知道事件总线是什么,那么没有关系,下面我们先来看这么一个场景:
你是否在开发的过程中遇到过想在Activity-B中回调Activity-A中的某个函数,但Activity又不能手动创建对象来设置一个Listener什么的? 你是否想在某个Service中想更新Activity或者Fragment中的界面? 等等之类的组件之间的交互问题……
我们可以使用广播,的方式实现。但是有点大材小用了。今天我们使用XBaseAndroid来实现Activity、Fragment、Service等之间的数据传递。
1.在接收数据界面onCreate方法注册
EventManager.register(this);
2.在接收数据界面onDestroy方法关闭注册
EventManager.unregister(this);
3.在接收界面写入以下方法。
@Subscribe(threadMode = ThreadMode.MAIN)
public void onMessageEvent(EventMessage event) {
/* Do something */
}
如何发送消息?
EventMessage message = EventManager.getMessage();
message.setContent("XBaseAndroid你好");
EventManager.sendMessage(message);
网友评论