我在Android应用程序中将RoboGuice 3.0.1与RoboBlender一起使用。
我想拥有一个全球事件经理,并且注意到RG3.0已经拥有它,如此处所述:
https://github.com/roboguice/roboguice/issues/150

我已经添加了

bind(EventManager.class).annotatedWith(Names.named(DefaultRoboModule.GLOBAL_EVENT_MANAGER_NAME)).to(EventManager.class).asEagerSingleton();


到configure()中我的自定义模块类。

我有一个执行Web API请求的单例WebUtil.class。我想在API请求完成后利用全局事件管理器发送事件。
我使用以下方法注入了eventManager:

@Inject EventManager eventManager;


使用以下命令发送事件:

eventManager.fire(new MyAPIEvent());


我的Activity类中有一个Observer方法:

handleAPICallback(@Observes MyAPIEvent apiEvent) {
// do something with apiEvent object
}


但是我看不到handleAPICallback()被调用。
我在网上搜索,找不到GlobalEventManager的单个示例。

任何帮助将不胜感激。

最佳答案

我通过在RG的github页面上发布解决了这个问题。
链接在这里:
https://github.com/roboguice/roboguice/issues/288#issuecomment-69770596

测试并验证它是否有效。

10-07 22:29