接收活动
要接收事件,必须使用事件类型作为参数实现方法,并使用 @Subscribe
对其进行注释。此外,你必须在 BusProvider
注册/取消注册对象的实例(请参阅发送事件示例 ):
public class MyFragment extends Fragment {
private final static String TAG = "MyFragment";
...
@Override
public void onResume() {
super.onResume();
BusProvider.getInstance().register(this);
}
@Override
public void onPause() {
super.onPause();
BusProvider.getInstance().unregister(this);
}
@Subscribe
public void onDatabaseContentChanged(DatabaseContentChangedEvent event) {
Log.i(TAG, "onDatabaseContentChanged: "+event.message);
}
}
要点: 为了接收该事件,必须存在该类的实例。当你想要将结果从一个活动发送到另一个活动时,通常不会出现这种情况。因此,请检查事件总线的用例。