0

我有 2 个活动。一个是显示折线图,另一个是显示饼图。我想将两者都嵌入到一个启动的活动中。允许用户单击,在折线图和饼图之间切换。

我意识到 ActionBar 的导航选项卡或下拉导航是帮助我实现此目的的最佳选择。

从 Android API 演示和从http://developer.android.com/guide/topics/ui/actionbar.html找到的指南,我意识到所有切换组件都实现为Fragment,而不是Activity

  1. 这是否意味着我需要将之前的 2 个活动移植到 2 个片段中,以便将它们嵌入到 ActionBar 的选项卡导航视图/下拉导航视图中?
  2. 有没有其他方法可以在不移植的情况下进行?但是,这是可取的,因为我没有找到使用 Activity 的官方示例。
  3. 在 API 演示中,我意识到大多数 Fragment 都是按照以下模式实现的。

public class FragmentStack extends Activity {
    ...
    public static class CountingFragment extends Fragment {
        // CountingFragment never access any members in FragmentStack
    }
}

有什么理由这样做吗?为什么他们没有CountingFragment一个单独的文件?

4

1 回答 1

1

如果要嵌入单个活动,首选方法是使用片段。您可能还可以使用自定义视图,但 Fragments 具有明确定义的生命周期并为您处理很多事情。因此,将功能提取到片段中,并将活动仅作为外壳,嵌入片段(如果您的新设计仍然需要它)可能是一个好主意。您可以以任何您喜欢的方式在片段之间切换:使用按钮、下拉菜单或任何其他适合您应用的 UI;您不一定必须使用操作栏。至于3.在单独的文件中定义片段没有错。Activity 和 Fragment 在示例中位于同一文件中,主要是为了更容易遵循示例。

于 2012-05-23T03:36:17.363 回答