我正在尝试使用guava订阅EventBus.试图查看网站文档,但无法看到任何显示如何执行此操作的示例.
有人试过吗?
private final EventBus eventBus = new EventBus();
eventBus.post(eventId); // where eventId is a string.
Run Code Online (Sandbox Code Playgroud)
这是在其中一个罐子里.现在我需要订阅这个eventbus并检查是否有任何新的eventId已发布.我怎样才能做到这一点?
任何帮助表示赞赏.
谢谢!!
您需要一个带有注释方法的对象,该方法带有一个@Subscribe
类型的参数String
(因为您将String
一个事件作为事件发布到它...请注意,某些更具体的事件类型可能更可取).然后,您需要将该对象传递给EventBus.register(Object)方法.例:
public class Foo {
@Subscribe
public void handleEvent(String eventId) {
// do something
}
}
Foo foo = ...
eventBus.register(foo);
eventBus.post(eventId);
Run Code Online (Sandbox Code Playgroud)