android - Android 中多个 fragment 之间的通信

标签 android android-activity actionbarsherlock

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

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

非常感谢您的帮助。

最佳答案

所有 fragment 到 fragment 的通信都是通过关联的 Activity 完成的。两个 Fragment 不应该直接通信。

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

更多细节和例子你可以阅读这个官方documentation .

关于android - Android 中多个 fragment 之间的通信,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17037975/

相关文章:

Android:如何使用文本创建启动画面

java - 点击 Android 通知后无法启动 Activity

android - 异步任务后无法使菜单项可见

android - 在 SherlockListFragment 中膨胀上下文菜单

java - 在对话框 Activity 中自动显示软键盘

android - Android Studio 3.0:无法合并DEX

Android Hello World 项目错误 : "Daemon: AAPT2 aapt2-3.2.0-4818971-windows Daemon #2"

android - 在 android 中读取原始音频并提取 SMPTE 时间码

android - Greendroid 或 ActionbarSherlock - 设置

android - 有没有一种方法可以通过设置开始和结束向量来自动为 VectorDrawable 设置动画