在视图寻呼机片段和对话片段之间进行通信

时间:2016-10-29 17:23:19

标签: android android-fragments android-viewpager android-dialogfragment

Hy,我对android开发很新,我正在尝试在我的自定义对话框片段之间建立通信,该片段扩展了DialogFragment并包含四个按钮和来自view pager的片段。

我的视图寻呼机适配器扩展了FragmentStatePagerAdapter并包含7个选项卡,但是对于每个选项卡,我创建了具有recyclerView但列表的不同数据的相同片段。 我的想法是,当我点击对话框片段中的按钮时,它会根据按下的按钮来命令我的recyclerViews。

我正在考虑在对话框中使用inerface,将数据发送到活动,并从此处更新片段recyclerview。我的解决方案中唯一的问题是,在活动中我必须按标签调用片段,并且因为我的片段在视图寻呼机中,所以它不会添加到后台。 任何人都可以帮我设置标签或有人知道如何做到这一点?请帮忙!!

1 个答案:

答案 0 :(得分:0)

在我的所有应用程序中,对话框通过事件总线与应用程序的其他部分进行通信(我使用GreenRobot&#39的EventBus)。该对话框只是将SomeDialog.SomeButtonClickedEvent发布到事件总线,而对这些事件感兴趣的Fragment将自己注册到onStart()中的事件总线(onStop()中的取消注册)。

使用事件总线进行这种通信的耦合比基于接口的方法要少得多(组件不需要彼此了解)。