1

Eventbus に置かれる (1 つのタイプの) オブジェクトの送信者と受信者であるクラスがあります。

イベントの受信から送信者を除外する方法はありますか? 複数の送信者がいて、他の送信者からのみイベントを受信したいのですが、自分自身からのみ受信したいと考えています。

例:

A はバスに RED を置きます。レシーバー C と D はイベント RED を取得します。しかし、A も (カラー イベントに登録されているため) RED になります。これは回避できますか?したがって、この場合 (A は送信者)、A は受信者であってはなりませんか?

ありがとう

4

1 に答える 1

2

greenrobot がこれをサポートしているとは思わない。回避策として、送信者への参照を含むフィールドColorを持つように変更するか、フィールドを持つ別のクラスでラップすることができます。次に、イベント ハンドラー メソッドは、イベントに作用する前にテスト を実行できます。senderColorsenderAif (event.sender != this)

于 2015-05-22T18:04:04.780 に答える