接收活動

要接收事件,必須使用事件型別作為引數實現方法,並使用 @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);
    }
}

要點: 為了接收該事件,必須存在該類的例項。當你想要將結果從一個活動傳送到另一個活動時,通常不會出現這種情況。因此,請檢查事件匯流排的用例。