Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/211.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 视图寻呼机片段和对话框片段之间的通信_Android_Android Fragments_Android Viewpager_Android Dialogfragment - Fatal编程技术网

Android 视图寻呼机片段和对话框片段之间的通信

Android 视图寻呼机片段和对话框片段之间的通信,android,android-fragments,android-viewpager,android-dialogfragment,Android,Android Fragments,Android Viewpager,Android Dialogfragment,Hy,我对android开发非常陌生,我正在尝试在我的自定义对话框片段(扩展了DialogFragment并包含四个按钮)和viewpager中的片段之间建立通信 我的视图寻呼机适配器扩展了FragmentStatePagerAdapter并包含7个选项卡,但对于每个选项卡,我创建了相同的片段,其中包含一个recyclerView,但列表的数据不同。 这个想法是,当我点击对话框片段中的一个按钮时,它将根据按下的按钮来订购我的recyclerViews 我正在考虑使用inerface in对话框将

Hy,我对android开发非常陌生,我正在尝试在我的自定义对话框片段(扩展了DialogFragment并包含四个按钮)和viewpager中的片段之间建立通信

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

我正在考虑使用inerface in对话框将数据发送到activity,并从这里更新fragment recyclerview。我的解决方案中唯一的问题是,在活动中,我必须按标记调用片段,因为我的片段位于视图页面中,所以它没有添加到backstck。
有人能帮我设置标签吗?有人知道怎么做吗?请帮忙

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


与基于接口的方法相比,使用事件总线进行此类通信的耦合性要小得多(组件不需要相互了解)。

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

与基于接口的方法相比,使用事件总线进行此类通信的耦合性要小得多(组件不需要相互了解)