我在片段之间进行通信时遇到问题。在第一个片段中,我使用监听器通知活动打开第二个片段并用Bundle传递给他一些数据。第一个片段在backstack中。然后,第二个片段打开并对数据进行一些处理。完成之后,应该关闭片段,并且应该从后台出现第一个片段,但是应该通知第二个片段中已更改的数据。所以,我的问题是如何通知第一个片段数据在第二个片段中被更改?
答案 0 :(得分:1)
实际上,Fragment
之间没有直接的沟通方式,您必须与其父Activity
进行沟通才能实现您的沟通目标。检查here,官方文档告诉您在Activity
和Fragment
之间进行通信的方式。
答案 1 :(得分:0)
如果您想要更复杂的发送复杂数据,请使用Otto http://square.github.io/otto/或EventBus https://github.com/greenrobot/EventBus。
或者您可以使用LocalBroadcastManager
。
答案 2 :(得分:0)
对我来说,我有Activity
,其中有两个Fragments
。所以当你从 FragA - > FragB - > FragA ,即使从 FragB 点击后退按钮, FragA 也会始终在同一Activity
内。
所以,我通过状态所做的是将该状态保留在Activity
,因为Activity
没有被拆除,只有Fragments
。因此,即使在点击 FragB 后面的按钮后,状态仍然存在 - >的弗拉加强>