
第一步:compile 'org.greenrobot:eventbus:3.1.1'
第二步:定义一个事件Event
public class MyBusEvent {
public final String message;
public MyBusEvent(String message) { this.message = message; }
}
第三步:准备好我们的订阅者,同时需要在总线上注册和注销自己
@Subscribe(threadMode = ThreadMode.MAIN)
public void onMessageEvent(MyBusEvent event) {
Toast.makeText(this, event.message, Toast.LENGTH_SHORT).show();
}
订阅者在订阅的时候,一定要带上这个@Subscribe,因为BusEvent它之后的订阅者方法名可以随意,
(threadMode = ThreadMode.MAIN)表示实在主线程中完成的。
@Override
public void onStart() {
super.onStart();
EventBus.getDefault().register(this);
}
@Override
public void onStop() {
super.onStop();
EventBus.getDefault().unregister(this);
}
第四步:发送事件
可以在代码的任何位置发送事件。
EventBus.getDefault().post(new MyBusEvent(“Hello everyone ! ”));
等你发送事件之后,所有注册订阅事件的订阅者都能够接收到你发送的这个事件。
public class MyBusEvent {
public final String message;
public MyBusEvent(String message) { this.message = message; }
}public class MyBusEvent {
public final String message;
public MyBusEvent(String message) { this.message = message; }
}public class MyBusEvent {
public final String message;
public MyBusEvent(String message) { this.message = message; }
}
本文介绍了EventBus的基本用法,包括添加依赖、定义事件、设置订阅者以及如何发送事件。通过示例展示了如何在主线程中接收事件,以及在生命周期方法中注册和注销订阅者。
1183

被折叠的 条评论
为什么被折叠?



