我在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的一个例子。
非常感谢任何帮助。
答案 0 :(得分:1)
我通过在RG的github页面上发帖解决了这个问题。 链接在这里: https://github.com/roboguice/roboguice/issues/288#issuecomment-69770596
经过测试并验证其有效。