将发件人排除在接收事件之外(Greenrobot的Eventbus)

时间:2015-05-20 15:41:20

标签: android greenrobot-eventbus

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

有没有办法将发件人排除在接收事件之外?我有多个发件人,只想接收来自其他发件人的活动,但是我自己。

示例:

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

由于

1 个答案:

答案 0 :(得分:2)

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