我尝试使用事件总线库,但我无法理解它的功能并查看了多个示例。是只使用services类还是使用activity和fragment那么是使用activity什么情况我们在activity或者fragment中使用event bus。
最佳答案
我们可以简单地使用 EventBus 而不是接口(interface)。我们可以将消息从一个类传递到一个或多个类。 EventBus 3 步
- 定义
- 注册和注销
- Activity 后
定义事件:
public static class MessageEvent { /* your getter and setter */ }
准备订阅者:声明并注释您的订阅方法,可选择指定线程模式:
@Subscribe(threadMode = ThreadMode.MAIN)
public void onMessageEvent(MessageEvent event) {
/* event fire here when you post event from other class or fragment */
};
注册和注销您的订阅者。例如在 Android 上,activity 和 fragment 通常应该根据它们的生命周期进行注册:
@Override
public void onStart() {
super.onStart();
EventBus.getDefault().register(this);//Register
}
注销
@Override
public void onStop() {
super.onStop();
EventBus.getDefault().unregister(this);//unregister
}
发布事件:
EventBus.getDefault().post(new MessageEvent());//post event
关于android - 如何在android中使用事件总线库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40987704/