使用FragmentActivity创建多窗格布局

问题描述:

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

我想要的是,如果用户正在使用平板电脑,那么listview和FragmentActivity就在eachother旁边,并且当用户从列表视图中选择不同的项目时,FragmentActivity会被更新。现在我在网上查看这是如何工作的,我需要使用片段,但找不到有关FragmentActivities的任何内容。

如何使它与FragmentActivity一起使用?

+0

作为一个出发点,你可以在Eclipse中创建或Android工作室一个新的项目,并使用模板多窗格布局,看看它是如何做。 – Mikel

正如马克ç表明,正是那种多窗格布局,它听起来就像你想,如果你创建一个新的Android应用程序可以创建和附近的新的Android项目向导结束,您可以选择“主/详细流程“在”创建活动“页面中。 (注意:您需要定位至少11版或更高版本的SDK版本才能选择该版本,但应该没关系,我猜如果您要定位平板电脑)。

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

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

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