片段实现——以google的文档为例
Fragment implementation - Using google's document as an example
我正在阅读 google 开发人员关于 Fragment 实现的文章。我被困在 session “Creating event callbacks to the activity”.
中的某一点
表示当包含文章标题列表的Fragment A要与显示文章内容的Article Fragment通信时,Fragment A需要实现一个接口OnArticleSelectedListener。在托管这两个片段的activity中设置了监听器,监听器会向Article Fragment发送信息。
我的问题是,为什么我们不简单地在Article Fragment中实现一个接口来监听Fragment A的选择呢?我知道一定有原因,但我就是不明白。
我的尝试:
是因为我们在片段A中找不到对文章片段的引用吗?我们只能从托管中找到 Article Fragment 的引用 activity.
非常感谢。
碎片无法相互通信。 Activity
不仅是一个 Host,也是两个或更多 fragments
之间的中间人。
(取自developer.android.com)
虽然 Fragment 是作为独立于 Activity 的对象实现的,并且可以在多个活动中使用,但 Fragment 的给定实例直接绑定到包含它的 activity。
在某些情况下,您可能需要一个片段来与 activity 分享事件。一个好的方法是在片段内定义一个回调接口,并要求宿主 activity 实现它。当activity通过接口接收到回调时,它可以根据需要与布局中的其他片段共享信息。
我正在阅读 google 开发人员关于 Fragment 实现的文章。我被困在 session “Creating event callbacks to the activity”.
中的某一点表示当包含文章标题列表的Fragment A要与显示文章内容的Article Fragment通信时,Fragment A需要实现一个接口OnArticleSelectedListener。在托管这两个片段的activity中设置了监听器,监听器会向Article Fragment发送信息。
我的问题是,为什么我们不简单地在Article Fragment中实现一个接口来监听Fragment A的选择呢?我知道一定有原因,但我就是不明白。
我的尝试: 是因为我们在片段A中找不到对文章片段的引用吗?我们只能从托管中找到 Article Fragment 的引用 activity.
非常感谢。
碎片无法相互通信。 Activity
不仅是一个 Host,也是两个或更多 fragments
之间的中间人。
(取自developer.android.com) 虽然 Fragment 是作为独立于 Activity 的对象实现的,并且可以在多个活动中使用,但 Fragment 的给定实例直接绑定到包含它的 activity。
在某些情况下,您可能需要一个片段来与 activity 分享事件。一个好的方法是在片段内定义一个回调接口,并要求宿主 activity 实现它。当activity通过接口接收到回调时,它可以根据需要与布局中的其他片段共享信息。