如何将Roboguice设置为在将事件总线注入活动和广播接收器时使用相同的实例:
@Inject EventBus eventBus;也就是说:据我所知,事件总线必须是一个全局进程,以便在我的活动中订阅在广播接收器中张贴的事件。然而,目前,我似乎正在为每个注入获得一个单独的事件总线。
发布于 2014-05-07 14:20:14
final EventBus bus = new EventBus();在你的舱里,而且
bind(EventBus.class).toInstance(bus); // or an otherwise exposed singleton在它的configure方法中,应该能做到这一点。
据我所知,事件总线必须是全局进程单例,以便在我的活动中订阅广播接收器中的事件。
不一定。
只需在广播接收器拥有的事件总线中注册活动(作为侦听器)。
可以有许多事件总线实例,每个实例代表一个独立的基于事件的通信通道.
或者每个广播接收器可以有一个事件总线,甚至有几个活动同时订阅它发布的事件。
事实上,这里没有使用单例的要求,如果这种设计选择没有充分的理由支持的话,我实际上倾向于反对它。
https://stackoverflow.com/questions/23520295
复制相似问题