使用FragmentActivity创建多窗格布局

时间:2013-11-01 15:34:44

标签: android listview android-fragments android-fragmentactivity

我想将我的应用转换为支持平板电脑等大屏幕的版本。我的应用程序包含一个带有自定义ListViewAdapter的ListView,如果您选择列表中的一个项目,您将转到一个新的FragmentActivity,它显示有关所选listitem的一些额外信息。在FragmentActivity中,我有一个包含4个不同片段的寻呼机,您可以在这些片段之间切换。

我想要的是,如果用户正在使用平板电脑,那么listview和FragmentActivity是彼此相邻的,当用户从列表视图中选择不同的项目时,FragmentActivity会更新。现在我在网上看了它是如何工作的,我需要使用片段,但是找不到有关FragmentActivities的任何信息。

如何使其与FragmentActivity一起使用?

1 个答案:

答案 0 :(得分:0)

正如Marc C建议的那样,如果您创建一个新的Android应用程序,可以创建一个完全符合您想要的类型的多窗格布局,并且在New Android Project向导的末尾附近,您选择“Master / Detail” “创建活动”页面中的“流程”。 (注意:您需要定位最低版本为11或更高版本的SDK才能选择,但是如果您正在定位平板电脑,那我应该没问题。)

在新项目中,您将获得一个DetailActivity.java - 这是一个FragmentActivity,它代表应用程序的项目详细信息。内容全部来自DummyContent列表类,该类包含DummyItem对象,在ListFragment onCreate中创建(通过静态) - 此片段表示列表视图,该视图将在足够大的屏幕上显示在左侧。

在平板电脑并排布局中,点击左侧列表中的项目会调用ListActivity.onItemSelected - 这会创建显示详细内容的详细信息片段 - 您当前在寻呼机中拥有的内容。在单一窗格布局中,详细活动由intent启动,您也可以在onItemSelected中看到。

因此,您需要在DetailActivity.onCreate和ListActivity.onItemSelected中替换DetailFragment类的实例化,并从寻呼机中实例化当前片段。我想你可以调整和重复使用ListFragment,而不是试图检查你现有的ListView和适配器代码,取决于你在那里有什么以及你有什么其他要求。