尝试在两个片段之间进行通信时 EventBus 不工作

EventBus not working when trying to communicate between two fragments

我在 viewpager 中设置了三个片段,就像滑动选项卡布局一样。我需要将字符串值从一个片段传递到另一个片段。

首先,我尝试像这里的答案建议的那样设置一个界面 How to pass data between fragments 这对我不起作用。这个想法是 Fragment A 告诉 Main Activity,然后 Main Activity 告诉 Fragment B。

所以我寻找不同的答案

http://android-er.blogspot.com/2012/06/communication-between-fragments-in.html

看起来很有前途但没有用,因为我无法在我的代码中使用相同的功能,因为我使用 google 的 slidingtablayout 而不是旧的 actionbar 设置了我的 viewpager。

现在我偶然发现了 EventBus。我真的认为这就是我的答案。正如下面两个答案所建议的那样,我将它添加到我的代码中。没有崩溃,但也没有任何效果。

我在 logcat 中找到这个:

D/Event: 没有订阅者注册事件 class tk.abestudying.atob.TextChangedEvent D/Event: 没有订阅者注册事件 class de.greenrobot.event.NoSubscriberEvent

Communication between Fragments in ViewPager

这是我的代码:Link 已删除

请帮忙。几个小时以来,我一直在尝试解决方案,但我很困惑。谢谢。

编辑:我通过谨慎和重写代码让它工作。

您似乎缺少 @Subscribe 注释。根据 README,订阅方法应如下所示:

@Subscribe public void onEvent(AnyEventType event) {/* Do something */};