EventBus实战
1.依赖库
implementation 'org.greenrobot:eventbus:3.1.1'
2.定义事件类,用于Activity/Fragment之间通信
public class MessageEvent {
private String message;
public MessageEvent () {
}
public String getMessage() {
return message;
}
public void setMessage(String message) {
this.message= message;
}
}
3.注册Activity/Fragment为订阅者,也可以用EventBusBuilder自己配置EventBus
EventBus.getDefault().register(this);
4.@Subscribe注解订阅的方法,方法可以随便取名,在注册的Activity/Fragment。可以制定线程模式,是否接受sticky事件,订阅者级别
@Subscribe(threadMode = ThreadMode.BACKGROUND, sticky = true, priority = 100)
public void showMessage(MessageEvent event) {
//收到这个MessageEvent ,取出里面的信息
}
5.在任意位置调用EventBus发送事件
mEventBus.post(new MessageEvent());
mEventBus.postSticky(new MessageEvent());
6.在onDestory中解注册,
mEventBus.unregister(this)