在backstack中与片段进行通信

时间:2015-04-09 08:38:14

标签: android android-fragments

我在片段之间进行通信时遇到问题。在第一个片段中,我使用监听器通知活动打开第二个片段并用Bundle传递给他一些数据。第一个片段在backstack中。然后,第二个片段打开并对数据进行一些处理。完成之后,应该关闭片段,并且应该从后台出现第一个片段,但是应该通知第二个片段中已更改的数据。所以,我的问题是如何通知第一个片段数据在第二个片段中被更改?

3 个答案:

答案 0 :(得分:1)

实际上,Fragment之间没有直接的沟通方式,您必须与其父Activity进行沟通才能实现您的沟通目标。检查here,官方文档告诉您在ActivityFragment之间进行通信的方式。

答案 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 后面的按钮后,状态仍然存在 - >的弗拉加