当前位置: 首页 > 知识库问答 >
问题:

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

赵君植
2023-03-14

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

首先,我试着建立一个接口,就像这里的答案建议如何在片段之间传递数据,这对我不起作用。想法是片段A告诉主活动,然后主活动告诉片段B。

所以我寻找不同的答案

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

看起来很有希望,但没有成功,因为我无法在代码中使用相同的函数,因为我用谷歌的SlidingTableOut而不是旧的actionbar设置了我的viewpager。

现在我偶然发现了EventBus。我真的认为这就是我的答案。我把它添加到我的代码中,就像下面两个答案所暗示的那样。没有崩溃,但也没有工作。

我在日志中发现了这个:

事件:没有订阅者注册事件类tk.abestudying.atob.TextChangedEvents事件D/事件:没有订阅者注册事件类de.greenrobot.event.NoSubcriber事件

ViewPager中片段之间的通信

滑动布局选项卡之间的通信

以下是我的代码:链接已删除

请帮忙。我已经尝试了几个小时的解决方案,但我被难倒了。非常感谢。

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

共有1个答案

鞠侯林
2023-03-14

看起来您缺少@Subscribe注释。根据自述文件,订阅方法应如下所示:

@Subscribe public void onEvent(AnyEventType event){/*做点什么*/}

 类似资料:
  • 我有一个活动- 。在这个活动中,我有两个片段,这两个片段都是我在xml中以声明方式创建的。 我正在尝试将用户输入的文本的传递到Fragment B 我知道一个片段可以使用获得对其活动的引用。所以我猜我会从那里开始?

  • 我正试图做到这一点:http://android-er.blogspot.com/2012/06/communication-between-fragments-in.html只不过我用的是一台碎纸机 我有一个有两个片段的活动 FragmentA有一个编辑文本和一个按钮,FragmentB有一个文本视图 现在我想要的是,每当我在编辑文本中输入一些内容并单击按钮时,我的文本视图中就会出现一些内容。

  • 关于基于代理的模型,我有一个问题。 我建立了两个代理。一个有状态图。我希望状态图能够通过发送消息或其他方式被其他代理使用。 我该怎么做?

  • 我的应用程序中有三个片段,其中需要传递和接收数据。我应该如何进行他们之间的沟通。我试图参考许多网站,但没有解决方案。 请给我推荐一些好的链接。 提前感谢。

  • 问题内容: 需要专家意见,我应该如何构造这个问题。我有一个自定义方法 process_filter ,它驻留在一个片段中,因为它需要访问私有和该片段。 在处理过程中,此片段将访问一个,并且在其中我需要使用back process_filter 方法 基本上,这里是结构: MyFragment.java MyAdapter.java 问题答案: 创建一个从适配器到片段的接口。 在适配器中创建接口,并

  • Hy,我是android开发的新手,我正在尝试在我的自定义对话框片段(扩展了DialogFragment并包含四个按钮)和view Pager中的片段之间建立一个通信。 我的视图分页器适配器扩展了FragmentStatePagerAdapter并包含7个选项卡,但对于每个选项卡,我创建了相同的片段,该片段具有一个recyclerView,但用于列表的数据不同。这个想法是,如果我单击对话框片段中的