全球事件经理Roboguice

时间:2014-12-23 07:53:10

标签: android roboguice

我在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的一个例子。

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:1)

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

经过测试并验证其有效。