【发布时间】:2016-06-02 10:28:22
【问题描述】:
我在 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
看起来很有希望,但没有奏效,因为我无法在代码中使用相同的功能,因为我使用谷歌的slidingtablayout而不是旧的操作栏设置了我的viewpager。
现在我偶然发现了 EventBus。我真的认为这是我的答案。正如以下两个答案所建议的那样,我将它添加到我的代码中。没有崩溃,但也没有任何效果。
我在 logcat 中找到了这个:
D/Event:没有订阅者注册事件类 tk.abestudying.atob.TextChangedEvent D/Event:没有订阅者注册事件类 de.greenrobot.event.NoSubscriberEvent
Communication between Fragments in ViewPager
Communication between SlidingTabLayout tabs
这是我的代码:链接已删除
请帮忙。我已经尝试了几个小时的解决方案,但我很难过。谢谢。
编辑:我通过谨慎和重写代码使其工作。
【问题讨论】:
-
使用
EventBus似乎有点矫枉过正。如果你还没有放弃Interfaces,这里有一个关于Inter-Fragment Communication on YouTube youtube.com/watch?v=GDHnIZEJ76I的非常简单和非常详细的解释和示例。我希望这会有所帮助。 -
感谢猫王的建议,但我设法让 EventBus 完美运行
标签: android android-fragments android-viewpager communication greenrobot-eventbus