1
eventbusにイベントをポストするときに同じ引数を受け入れる2つのリスナーがありますが、同じ引数を受け入れるリスナーの動作が異なります。google guava eventbusで同じ引数を持つ複数のリスナーを処理する方法
public class EventListener1 {
@Subscribe
public void executeJob(jobVO jobVO) {
//logic goes here
}
}
public class EventListener2 {
@Subscribe
public void cancelJob(jobVO jobVO) {
//logic goes here but different
}
}
EventBus eventBus = new EventBus();
eventBus.register(new EventListener1());
eventBus.register(new EventListener2());
ユーザーの押しボタンを実行し、ジョブをキャンセルするために賢明なようEventListener1
をトリガしたいと考えています。私の質問はどのようにeventbusにイベントを投稿するとき、私は特定のリスナーをトリガすることができますか、それは両方のリスナーを呼び出すこと
のための実行ジョブのジョブをキャンセル
JobVO j=new JobVO();
j.setAction("cancelJob");
etc...
eventBus.post(j);
ため
JobVO j=new JobVO();
j.setAction("executeJob");
etc...
eventBus.post(j);
ですか?
あなたはいくつかの特定のサブクラスを使用することはできません'など? @RC。 –
JobVOをクライアントサーバー通信として使用することはできません。ユーザー層からjobVOを作成し、server.iに渡すことはできません。これは、サブクラスを使用すると簡単にできることがわかります.iだけ知りたいのですが、サブクラスを使用しています。 – gihan
1つのイベントリスナーとスイッチが動作します –