在Android中的多个片段之间进行通信

时间:2013-06-11 06:43:08

标签: android android-activity actionbarsherlock

关于如何在片段之间发送信息似乎存在一些争论点。例如,假设我有两个SherlockFragments,一个包含文本字段和一个按钮,它允许我将项目添加到列表,然后是第二个打印出该列表的片段。一篇帖子建议将数据直接从一个标签发送到另一个标签:How to transfer some data to another Fragment?。另一个建议使用Otto或Roboguice:How to pass data between fragments

因为我是新手,而且我发现的一些内容可能已经过时,我非常感谢有关如何完成这个简单专长的任何建议(如果是!)。

非常感谢你的帮助。

1 个答案:

答案 0 :(得分:5)

所有片段到片段的通信都是通过关联的Activity完成的。两个碎片永远不应该直接沟通。

要允许Fragment与其Activity进行通信,您可以在Fragment类中定义接口并在Activity中实现它。 Fragment在其onAttach()生命周期方法中捕获接口实现,然后可以调用Interface方法以与Activity通信。

有关详细信息和示例,请阅读此官方documentation