有了片段A和B,B在某种程度上是扩展的A。从B更新的UI数据需要存储回A,A的UI决定是否保存到数据库。
所以A首先被放在后台堆栈上,然后在某些时候它需要B,而B被放在后台堆栈上,并用'replace()‘放在容器中。
可以通过参数将数据传递给B。如何将数据从B片段传递回A片段(如果A被持有者上的B“替换()”,并且当前没有显示或“存在”)?
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();发布于 2016-11-17 04:48:16
来自Developers网站:
通常您会希望一个片段与另一个片段进行通信,例如,根据用户事件更改内容。所有片段到片段的通信都是通过关联的活动完成的。两个片段永远不应该直接通信。
首先将数据从片段发送到activity,然后在Activity中接收此数据,然后可以从Activity中将数据发送到fragment,并使用Fragment onCreateView方法接收数据。
借助片段的活动,您可以在片段之间进行通信。您可以使用this方法在活动和片段之间进行通信。
https://stackoverflow.com/questions/40641710
复制相似问题