Master/Detail Flow 只是在同一个内容视图中使用的 2 个片段的昵称,一个在左侧,一个在右侧。这是一般的想法。现在,Master/Detail Flow 可以在 Activity 中使用(就像 Eclipse 对您描述的模板所做的那样)或在 Fragment 中使用,幸运的是,因为 Android 4.2 在其他 Fragment 中引入了 Fragments(Android 兼容库也支持旧版本安卓)。
Eclipse 生成的模板包含在一个活动(在平板电脑上)或 2 个活动(用于手机)中,因为 Eclipse 不知道您需要片段内的主/详细信息。因此,您不能依赖 Eclipse 的模板。但是将 2 个 Fragment 放入另一个 Fragment 并不难。
您只需要暂时忘记 ViewPager,并在包含 Master/Detail Flow 的 Fragment 内完成您的工作,我们称之为 MasterFragment。
- 再声明 2 个 Fragment:InnerListFragment、InnerDetailFragment。也是手机的 InnerDetailActivity。
为 MasterFragment 声明 2 个 XML 布局文件:
- layout/fragment_master.xml - 仅在其中添加 InnerListFragment
<fragment>
标记
- layout-sw600dp/fragment_master.xml(用于平板电脑 >7") - 添加 InnerListFragment 和 InnerDetailFragment
<fragment>
标签。
现在,我不会在这里详细介绍您的所有 java 代码,但在 MasterFragment.java 中,您需要检查设备是否是平板电脑,以便您知道屏幕上的 2 个片段中的哪一个处于活动状态。
这是一般的想法。如果您仍有疑问,请务必提问。