我想知道为什么通过容器 Activity 进行通信的片段被称为可重用的。
来自: http: //developer.android.com/guide/components/fragments.html我知道:
您应该将每个片段设计为模块化和可重用的活动组件。也就是说,因为每个片段都通过自己的生命周期回调定义了自己的布局和自己的行为,所以您可以在多个活动中包含一个片段,因此您应该设计重用并避免直接从另一个片段操作一个片段。
举个例子;我有一个DateSetFragment
包含两个按钮;第一个按钮触发TimePickerDialog
(FragmentDialog),允许用户选择一个小时,第二个按钮(FragmentDialog)DatePickerDialog
允许用户选择一天。最后收集的数据应该被发送回DateSetFragment
.
根据: http: //developer.android.com/training/basics/fragments/communicating.html:
所有 Fragment 到 Fragment 的通信都是通过关联的 Activity 完成的。两个 Fragment 永远不应该直接通信。
片段之间的通信应该通过容器活动的接口来完成。鉴于我应该将收集到的数据从两个片段对话框发送到容器活动,然后从活动返回到DateSetFragment
. 我看不出这如何DateSetFragment
以任何方式使我的可重用和模块化。这样做我必须在我的容器 Activity 中实现片段接口和一些关键逻辑,使其与之连接。
问题是; 如果 Fragment Dialogs 直接DateSetFragment
与