0

我有一个完善的手机应用程序,但我想添加对平板电脑的支持。主视图由一个 ListView 组成,它使用 SimpleCursorAdapter 从数据库中获取列表。当用户点击一个项目时,会启动一个 Activity(特定于那个 ID!)。一些活动共享相同的视图,但具有不同的信息。每个活动都扩展了 FragmentAcivity。在平板电脑中,由于我有更多的屏幕空间,我想在左侧显示 ListView,当用户点击一个项目时,SPECIFIC Activity 将显示在左侧。它会模仿页面一半左右的图像。我对片段没有很好的了解,但我怎么能做到这一点?如果您需要更多信息,请告诉我。

4

2 回答 2

3

出于此答案的目的,我将使用“主要活动”来指代带有 的活动,ListView而“其他活动”来指代您希望出现在右侧的活动。

这是一个缩略图:

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

  2. 为平板电脑的主要活动创建布局,除了您的之外,还包含ListFragment一个FrameLayout容器,用于存放其他活动应该去的地方。将现有布局保留为主要活动。

  3. onListItemClick()您的ListFragment中,将事件传递给主要活动(例如,((MainActivity)getActivity()).heyDoSomething(position)

  4. 在主要活动中的事件处理方法(例如,heyDoSomething())中,查看是否有FrameLayout. 如果这样做,请运行 aFragmentTransaction以将 的内容替换为FrameLayout来自其他活动的适当片段。如果您不这样做,那么您正在使用手机,在这种情况下,您将启动其他活动之一。

这是一个示例应用程序,演示了其中的一部分(减去几个“其他活动”,因此列表单击只是将新鲜内容加载到右侧的现有片段中)。

于 2012-06-25T21:40:08.933 回答
0

看看这里的shakespear示例:http ://android-developers.blogspot.com/2011/02/android-30-fragments-api.html

于 2012-06-25T21:40:26.030 回答