使用Fragments重新设计平板电脑的手机应用程序

时间:2012-06-25 21:31:04

标签: android android-listview android-fragments

我有一个完善的手机应用程序,但我想添加对平板电脑的支持。主视图包含一个ListView,它使用SimpleCursorAdapter从数据库中获取列表。当用户点击某个项目时,会启动一个活动(特定于该ID!)。某些活动共享相同的视图,但信息不同。每个活动都扩展了FragmentAcivity。在平板电脑中,由于我有更多的屏幕空间,我想在左侧显示ListView,当用户点击一个项目时, SPECIFIC 活动将显示在左侧。它会在页面的中间位置模仿here找到的图像。我对碎片知之甚少,但我怎么能做到这一点呢?如果您需要更多信息,请与我们联系。

2 个答案:

答案 0 :(得分:3)

出于本回答的目的,我将使用“主要活动”来指代具有ListView和“其他活动”的那个,以指代您想要出现在右侧的那个

这是一个缩略图草图:

  1. 将其他每个活动转换为UI由片段定义的活动。

  2. 为平板电脑的主要活动创建布局,除了ListFragment之外,还包含FrameLayout容器,其中包含其他活动的位置。保留主要活动的现有布局。

  3. onListItemClick()的{​​{1}}中,将事件传递给主要活动(例如ListFragment

  4. 在主要活动中的事件处理方法(例如((MainActivity)getActivity()).heyDoSomething(position))中,查看您是否拥有heyDoSomething()。如果这样做,请运行FrameLayout以使用其他活动中的相应片段替换FragmentTransaction的内容。如果你不这样做,那么你就在手机上,在这种情况下你会开始其他活动之一。

  5. Here is a sample application演示了部分内容(减去了几个“其他活动”,因此列表点击只会将新内容加载到右侧的现有片段中)。

答案 1 :(得分:0)