0

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

我想要的是,如果用户使用的是平板电脑,listview 和 FragmentActivity 是彼此相邻的,并且当用户从 listview 中选择不同的项目时,FragmentActivity 会得到更新。现在我在网上查看了这是如何工作的,我需要使用片段,但找不到任何关于 FragmentActivities 的信息。

如何使它与 FragmentActivity 一起工作?

4

1 回答 1

0

正如 Marc C 所建议的那样,如果您创建一个新的 Android 应用程序,可以创建一个听起来像您想要的那种多窗格布局,并且在新的 Android 项目向导快结束时,您在创建活动页面。(注意:您需要针对 11 或更高版本的最低 SDK 版本进行选择,但我猜如果您针对的是平板电脑,那应该没问题)。

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

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

因此,您需要将 DetailActivity.onCreate 和 ListActivity.onItemSelected 中的 DetailFragment 类的实例化替换为来自寻呼机的当前片段的实例化。我想您可以调整和重用 ListFragment 而不是尝试在现有的 ListView 和适配器代码中进行尝试,这取决于您在其中拥有的内容以及您还有哪些其他要求。

于 2013-11-04T10:01:33.543 回答