Android EventBus - 从不使用onEventMainThread

时间:2017-07-26 15:29:30

标签: android event-bus

我正在尝试在我的活动上听一个事件,但Android Studio告诉我方法onEventMainThread从未使用过,显然它永远不会进入它...

我不知道为什么,因为我在EventBus上注册了以下活动:

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.telegram_conversations_activity);
    EventBus.getDefault().registerSticky(this);
    //...
}

public void onEventMainThread(TdApi.UpdateFile file) {
    Toast.makeText(TelegramConversationsActivity.this,"ey",Toast.LENGTH_SHORT).show();
}

我做错了什么?

1 个答案:

答案 0 :(得分:0)

尝试在方法上使用它,而不是在onEventMainThread上调用它。

@Subscribe(sticky = true,threadMode = ThreadMode.MAIN)

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(Bundle savedInstanceState);
    EventBus.getDefault().register(this);
}

// UI updates must run on MainThread
@Subscribe(sticky = true, threadMode = ThreadMode.MAIN)
public void onEvent(TdApi.UpdateFile file) {
    Toast.makeText(TelegramConversationsActivity.this,"ey",Toast.LENGTH_SHORT).show();
}

@Override
public void onStop() {
    EventBus.getDefault().unregister(this);    
    super.onStop();
}