我在 viewpager 中设置了三个 fragment ,就像滑动选项卡布局一样。我需要将字符串值从一个 fragment 传递到另一个 fragment 。
首先,我尝试设置一个界面,就像此处建议的答案 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/事件:没有订阅者注册事件类 tk.abestudying.atob.TextChangedEvent D/Event: 没有订阅者注册事件类 de.greenrobot.event.NoSubscriberEvent
Communication between Fragments in ViewPager
Communication between SlidingTabLayout tabs
这是我的代码:链接已删除
请帮忙。几个小时以来,我一直在尝试解决方案,但我很困惑。谢谢。
编辑:我通过谨慎和重写代码让它工作。
最佳答案
看起来您缺少 @Subscribe
注释。根据README
,订阅方法应如下所示:
@订阅
public void onEvent(AnyEventType event) {/* 做点什么 */};
关于android - 尝试在两个 fragment 之间进行通信时 EventBus 不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35529195/