【发布时间】:2013-03-25 09:48:21
【问题描述】:
我有点困惑,什么是思想上正确的片段使用方式。
正如 Android 开发者所说,
片段表示一个行为或用户界面的一部分 活动。您可以在单个活动中组合多个片段以 构建多窗格 UI 并在多个活动中重用片段。你 可以将片段视为活动的模块化部分,它具有 它自己的生命周期,接收自己的输入事件,你可以 在活动运行时添加或删除(有点像“子 活动”,您可以在不同的活动中重复使用)。
还有:
片段将应用程序功能和 UI 分解为可重用的 modules 将多个片段添加到屏幕以避免切换 活动
我对片段的使用方式如下:
我只有一个主要活动和一大堆片段。我更喜欢替换片段,而不是开始活动。
例如,我有FeedsFragment、FriendsFragment、MessagesFragment,当我从滑动菜单中选择某些内容时,我的Activity 只是替换了主要的Fragment。如果我要从其他 Fragment 启动一个 Fragment,我会将前一个 Fragment 放入 backstack。
有些片段需要Activity来改变actionbar,我直接通过
((MainActivity)getActivity()).setupActionBar();
目前我没有任何支持平板电脑布局的代码(如 android 开发人员的示例所示),但我打算添加它。
那么,这是正确的做事方式吗?还是我完全错过了什么?
【问题讨论】:
-
您可以在片段中访问 ActionBar,如下所示:
ActionBar ab = getActivity().getActionBar()保留在片段代码中为该特定片段更改 ActionBar 是有意义的。此外,如果您想从片段内部访问父活动,明智的做法是遵循谷歌建议并为此使用界面。在这里解释得很好:developer.android.com/training/basics/fragments/…