Android 从接收事件中排除发送方(Greenrobot&x27;s Eventbus)
我有一个类,它是放置在Eventbus上的对象(一种类型)的发送者和接收者 是否有办法将发送者排除在事件接收之外?我有多个发件人,只想从其他发件人接收事件,但不想从我自己接收 例如: A把红色挂在公共汽车上。接收器C和D将事件显示为红色。但是A(因为它是为颜色事件注册的)也会变为红色。这能避免吗?那么在这种情况下(A是发送者)A不应该是接收者Android 从接收事件中排除发送方(Greenrobot&x27;s Eventbus),android,greenrobot-eventbus,Android,Greenrobot Eventbus,我有一个类,它是放置在Eventbus上的对象(一种类型)的发送者和接收者 是否有办法将发送者排除在事件接收之外?我有多个发件人,只想从其他发件人接收事件,但不想从我自己接收 例如: A把红色挂在公共汽车上。接收器C和D将事件显示为红色。但是A(因为它是为颜色事件注册的)也会变为红色。这能避免吗?那么在这种情况下(A是发送者)A不应该是接收者 谢谢我认为greenrobot不支持这一点。作为一种解决方法,您可以修改Color以具有包含对发件人引用的sender字段,或者在另一个具有sender字
谢谢我认为greenrobot不支持这一点。作为一种解决方法,您可以修改
Color
以具有包含对发件人引用的sender
字段,或者在另一个具有sender
字段的类中包装Color
。然后,A
事件处理程序方法可以在对事件执行操作之前执行if(event.sender!=this)
测试 我使用发件人的哈希代码,并在发件人的接收时忽略这些事件。哈希代码不是唯一的,因此您的方法不安全。正如我所建议的,您应该只传递对对象的引用。