与事件总线的片段 - 活动通信

问题描述 投票:1回答:1

我正在尝试使用EventBus从我的tabLayout发送文本到Fragment,但由于一些未知的原因,该事件没有被激发。我的堆栈跟踪上出现此错误。我不明白为什么订户没有注册。

D/EventBus: No subscribers registered for event class org.greenrobot.eventbus.NoSubscriberEvent

fragment.Java

 @Override
    public void onStart() {
        super.onStart();
        EventBus.getDefault().register(this);
    }

    @Override
    public void onStop() {
        super.onStop();
        EventBus.getDefault().unregister(this);
    }
    @Subscribe
    public void receivedQueryMessage(BusMessage message){
        Log.d("MYLOG", "message");

    }

main activity.Java

 tabLayout.addOnTabSelectedListener(new TabLayout.OnTabSelectedListener() {
            @Override
            public void onTabSelected(TabLayout.Tab tab) {
                viewPager.setCurrentItem(tab.getPosition());
                if (tab.getText() != null) {
                    EventBus.getDefault().post(tab.getText());
                }
            }

bus message.Java

public class BusMessage {
    private String message;

    public BusMessage(String message) {
        this.message = message;
    }

    public String getMessage() {
        return message;
    }
}
event-bus
1个回答
1
投票
EventBus.getDefault().post(new BusMessage(tab.getText()));
© www.soinside.com 2019 - 2024. All rights reserved.