如何在活动类上识别eventbus的调用者

时间:2017-06-01 13:50:05

标签: android event-bus greenrobot-eventbus greenrobot-eventbus-3.0

我在活动上使用EventBus并覆盖一个事件ABC。 现在我从多个类(EventBus.getDefault().post(new ABC())等)调用该事件,我正在我的活动类上回调。所以我的问题是:有没有办法确定在我的活动类上调用该事件的调用者。

2 个答案:

答案 0 :(得分:0)

ABC中添加一些内容,告诉您事件的来源,例如通过构造函数参数。

答案 1 :(得分:0)

我建议添加一个接收标签的构造函数

public ABC(int tag) {}

然后在您的活动中,您可以这样继续:

@Subscribe()
public void onEvent(ABC event) {
    switch(event.getTag()) {
        case MyService.TAG: 
            //process data from your service
            break;
        case MyFragment.TAG: 
            //process data from your fragment
            break;
    }
}