接收活动

要接收事件,必须使用事件类型作为参数实现方法,并使用 @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);
    }
}

要点: 为了接收该事件,必须存在该类的实例。当你想要将结果从一个活动发送到另一个活动时,通常不会出现这种情况。因此,请检查事件总线的用例。