EventBus在跳转的时候无法成功获取数据

1.首先可以判断一下
if (!EventBus.getDefault().isRegistered(this)) {
EventBus.getDefault().register(this);
}
2.取消注册 要写到 onDestroy 方法里,不要写到 onStop 里,有时会出现异常的哦
3.今天遇到了订阅事件无法执行的情况,分析后发现是订阅事件的 Activity 还未执行的原因。
找到原因就好办了,这时候就需要用到 postSticky。

发布事件时用 postSticky 操作:

1
EventBus.getDefault().postSticky(event);
订阅时,添加 sticky = true

//看下 @Subscribe 源码知道 sticky 默认是 false

@Subscribe(sticky = true)

public void onEvent(Event e) {

}
4.EventBus.getDefault().register(this); 注册时最好放到各变量初始化最后,否则可能会出现一些变量空指针异常。