从接收事件中排除发送方(Greenrobot的事件总线)



我有一个类,它是放在Eventbus上的对象的发送者和接收者(一种类型)。

是否有一种方法可以将发送者排除在事件的接收之外?我有多个发送者,只想从其他发送者接收事件,但从我自己。

的例子:

A把RED放在公共汽车上。接收器C和D得到事件RED。但是A(因为它是为颜色事件注册的)也会得到RED。这种情况可以避免吗?所以在这种情况下(A是发送者)A不应该是接收者?

谢谢

我不认为greenrobot支持这一点。作为解决方案,您可以修改Color,使其具有包含对发送方引用的sender字段,或者将Color包装在具有sender字段的另一个类中。然后,A事件处理程序方法可以在对事件执行操作之前执行if (event.sender != this)测试。

最新更新