Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/233.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 如何将数据从一个片段传递到替换的fragmnet_Android_Android Fragments_Pass Data - Fatal编程技术网

Android 如何将数据从一个片段传递到替换的fragmnet

Android 如何将数据从一个片段传递到替换的fragmnet,android,android-fragments,pass-data,Android,Android Fragments,Pass Data,有了片段A和B,B有点像扩展的A。B的UI数据更新需要存储回A,A的UI决定是否保存到数据库 因此,A首先放在靠背上,然后在某个时候它需要B,B放在靠背上,并用“replace()”放在支架上 向B传递数据可以通过参数进行。 如何将数据从B片段传递回A片段(如果A在保持架上被B“替换()”,并且当前未显示或“存在”) 从网站: 通常,您希望一个片段与另一个片段通信,例如 基于用户事件更改内容的示例。全部的 片段到片段的通信是通过相关的 活动。两个片段不应该直接通信 首先将数据从fragment发

有了片段A和B,B有点像扩展的A。B的UI数据更新需要存储回A,A的UI决定是否保存到数据库

因此,A首先放在靠背上,然后在某个时候它需要B,B放在靠背上,并用“replace()”放在支架上

向B传递数据可以通过参数进行。 如何将数据从B片段传递回A片段(如果A在保持架上被B“替换()”,并且当前未显示或“存在”)

从网站:

通常,您希望一个片段与另一个片段通信,例如 基于用户事件更改内容的示例。全部的 片段到片段的通信是通过相关的 活动。两个片段不应该直接通信

首先将数据从fragment发送到activity,然后在activity中接收该数据,然后从activity中可以发送数据到fragment并在fragment onCreateView方法中接收

您可以借助片段的活动在片段之间进行通信。您可以使用该方法在活动和片段之间进行交流。

从网站:

通常,您希望一个片段与另一个片段通信,例如 基于用户事件更改内容的示例。全部的 片段到片段的通信是通过相关的 活动。两个片段不应该直接通信

首先将数据从fragment发送到activity,然后在activity中接收该数据,然后从activity中可以发送数据到fragment并在fragment onCreateView方法中接收


您可以借助片段的活动在片段之间进行通信。您可以使用这种方法在活动和片段之间进行通信。

通常片段之间的通信是通过活动(模式观察者)完成的。所以处于活动状态的片段告诉它的活动发生了一些动作(通过接口),活动可以告诉它Fragment1thanks alla!我想我的问题是,当B仍然在屏幕上,而A处于未知状态(在同一个“支架”上已被B替换)时,从B传递到A的最佳方式是什么。我在想可能会捕捉到B popstack事件,然后因为操作系统将在“holder”中返回A,这样我们就可以在那个时候将数据传递给A。有更好的方法吗?通常片段之间的通信是通过活动(模式观察者)完成的。所以处于活动状态的片段告诉它的活动发生了一些动作(通过接口),活动可以告诉它Fragment1thanks alla!我想我的问题是,当B仍然在屏幕上,而A处于未知状态(在同一个“支架”上已被B替换)时,从B传递到A的最佳方式是什么。我在想可能会捕捉到B popstack事件,然后因为操作系统将在“holder”中返回A,这样我们就可以在那个时候将数据传递给A。有更好的办法吗?
Bundle args = new Bundle();
args.putSerializable(TAG_MY_CLASS, myClass);
Fragment bFrgmt = new B();
bFrgmt.setArguments(args);
getFragmentManager()
    .beginTransaction()
    .replace(R.id.holder, bFrgmt, TAG_B_FRAGMENT)
    .addToBackStack(TAG_B_FRAGMENT).commit();