1. 程式人生 > >資料傳遞與接收---Eventbus的簡單使用

資料傳遞與接收---Eventbus的簡單使用

具體步驟:

1.在app的gradle裡宣告一下

 //引入eventbus
    compile 'org.greenrobot:eventbus:3.0.0'

2.在activity的需要傳送訊息的地方:

 EventBus.getDefault().post( "訊息。。。");

3.在需要接收訊息的activity,在onCreate函式裡註冊一下它:

 //註冊EventBus
        EventBus.getDefault().register(this);

獲取訊息:

@Subscribe(threadMode = ThreadMode.MAIN)
    public
void getData(String str) { if (!TextUtils.isEmpty(str)) { tvShowMassage.setText(str); } }

在onDestroy函式裡記得登出EventBus:

@Override
    protected void onDestroy() {
        super.onDestroy();

        //登出EventBus
        EventBus.getDefault().unregister(this);
    }

注意

:必須寫明this,表示當前activity。如果獲取到其他的雖然也能實現登出功能,但卻並沒有登出掉當前activity的。我曾經又一次使用unregister(getApplicationContext()),結果發現並沒有登出掉當前活動的訊息接受,它仍然在接受訊息。

**

補充

**:我發現傳遞int型的資料會失效,除了int型的其它就沒有問題