订阅活动巴士

Ris*_*shi 4 java guava

我正在尝试使用guava订阅EventBus.试图查看网站文档,但无法看到任何显示如何执行此操作的示例.

有人试过吗?

private final EventBus eventBus = new EventBus();
eventBus.post(eventId); // where eventId is a string.
Run Code Online (Sandbox Code Playgroud)

这是在其中一个罐子里.现在我需要订阅这个eventbus并检查是否有任何新的eventId已发布.我怎样才能做到这一点?

任何帮助表示赞赏.

谢谢!!

Col*_*inD 8

您需要一个带有注释方法的对象,该方法带有一个@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)