我有一个片段,并在片段onResume
和onPause
方法中注册和取消注册了总线。使用以下BusProvider.getInstance().register(this);
和BusProvider.getInstance().unregister(this);
。
我的订阅定义如下:
@Subscribe public void onLogin(LoggedInEvent event) {
// Do Something
}
我还在片段附加到的活动中对同一事件进行了另一个订阅,并且订阅做出了反应并且做了事情。所以我的问题是为什么我的片段没有收到LoggedInEvent
的活动?
修改
我也在我的活动的onResume
和onPause
方法中注册/取消注册了公交车。
编辑2:
总线用ThreadEnforcer.ANY
答案 0 :(得分:3)
我发现那个将事件发布到总线的类,但是没有在main / ui线程上运行,这导致了在ui中发生变化并且正确反应的不一致。所以现在我的班级在主线程上发布,我从创建我的总线中移除了ThreadEnforcer.ANY
,所以现在一切都肯定在主线程上运行。