0

我有一个片段,并在片段onResumeonPause方法中注册和注销了总线。使用以下BusProvider.getInstance().register(this);BusProvider.getInstance().unregister(this);.

我有一个这样定义的订阅:

@Subscribe public void onLogin(LoggedInEvent event) {
    // Do Something
}

我还在片段附加到的活动中为同一事件订阅了另一个订阅,并且该订阅会做出反应并做到这一点。所以我的问题是为什么我的片段没有收到事件LoggedInEvent

编辑: 我还在我的活动onResumeonPause方法中注册/注销了总线。

编辑2: 总线被实例化ThreadEnforcer.ANY

4

1 回答 1

3

我发现将事件发布到总线的类,但没有在 main/ui 线程上运行,这导致无法看到 ui 中发生的变化并做出正确反应。所以现在我的班级正在主线程上发布,我ThreadEnforcer.ANY从创建我的总线中删除了,所以现在一切都肯定在主线程上运行。

于 2014-06-17T05:02:47.453 回答