Hy,我对android开发很新,我正在尝试在我的自定义对话框片段之间建立通信,该片段扩展了DialogFragment并包含四个按钮和来自view pager的片段。
我的视图寻呼机适配器扩展了FragmentStatePagerAdapter并包含7个选项卡,但是对于每个选项卡,我创建了具有recyclerView但列表的不同数据的相同片段。 我的想法是,当我点击对话框片段中的按钮时,它会根据按下的按钮来命令我的recyclerViews。
我正在考虑在对话框中使用inerface,将数据发送到活动,并从此处更新片段recyclerview。我的解决方案中唯一的问题是,在活动中我必须按标签调用片段,并且因为我的片段在视图寻呼机中,所以它不会添加到后台。 任何人都可以帮我设置标签或有人知道如何做到这一点?请帮忙!!
答案 0 :(得分:0)
在我的所有应用程序中,对话框通过事件总线与应用程序的其他部分进行通信(我使用GreenRobot&#39的EventBus)。该对话框只是将SomeDialog.SomeButtonClickedEvent
发布到事件总线,而对这些事件感兴趣的Fragment
将自己注册到onStart()
中的事件总线(onStop()
中的取消注册)。
使用事件总线进行这种通信的耦合比基于接口的方法要少得多(组件不需要彼此了解)。