Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/201.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 在backback中与片段通信_Android_Android Fragments - Fatal编程技术网

Android 在backback中与片段通信

Android 在backback中与片段通信,android,android-fragments,Android,Android Fragments,我无法在片段之间进行通信。在第一个片段中,我使用侦听器通知活动打开第二个片段,并将一些数据和包一起传递给他。第一个碎片在后面。然后,第二个片段打开并处理数据。完成后,应该关闭片段,并从backstack中显示第一个片段,但应该将第二个片段中更改的数据通知它。所以,我的问题是如何通知第一个片段第二个片段中的数据发生了更改?实际上,在片段之间没有直接的通信方式,您必须与它的父活动进行通信以实现您的通信目标。检查,官方文件已经告诉您在活动s和片段s之间进行通信的方法。如果您想发送更复杂的数据,请使用O

我无法在片段之间进行通信。在第一个片段中,我使用侦听器通知活动打开第二个片段,并将一些数据和包一起传递给他。第一个碎片在后面。然后,第二个片段打开并处理数据。完成后,应该关闭片段,并从backstack中显示第一个片段,但应该将第二个片段中更改的数据通知它。所以,我的问题是如何通知第一个片段第二个片段中的数据发生了更改?

实际上,在
片段之间没有直接的通信方式,您必须与它的父
活动
进行通信以实现您的通信目标。检查,官方文件已经告诉您在
活动
s和
片段
s之间进行通信的方法。

如果您想发送更复杂的数据,请使用Otto或EventBus。
或者您可以使用
LocalBroadcastManager

对我来说,我有一个
活动
,它有两个
片段
。因此,当您从FragA->FragB->FragA进入时,您始终处于相同的
活动
,即使从FragB点击后退按钮会显示FragA


因此,我所做的是传递状态,将该状态保留在
活动上,因为
活动
不会被拆掉,只有
片段
会被拆掉。因此,即使在从FragB->FragA

点击后退按钮后,状态仍然存在。您需要活动宿主片段来帮助完成此操作。