在官方 Fragment 指南的设计哲学部分,它说:
您应该将每个片段设计为模块化和可重用的活动组件。也就是说,因为每个片段都通过自己的生命周期回调定义了自己的布局和自己的行为,所以您可以在多个活动中包含一个片段,因此您应该设计重用并避免直接从另一个片段操作一个片段。
但在其Example中,TitlesFragment
类(extends ) 在其方法ListFragment
中直接引用DetailsFragment
类 (extends )Fragment
showDetails()
findFragmentById()
DetailsFragment details = (DetailsFragment)
getFragmentManager().findFragmentById(R.id.details);
并调用DetailsFragment
类的newInstance()
方法。
details = DetailsFragment.newInstance(index);
这是一种糟糕的编码风格吗?
相比之下,Basic Training Material在编码风格方面似乎做得更好。它使用一个接口进行片段到活动的通信。