android - 使用 fragment 的正确方法是什么?

标签 android android-fragments

fragment 的正确使用方法是什么?我应该为每个界面只使用一个 FragmentActivity 还是为所有界面使用唯一的 FragmentActivity?

我的应用非常简单:它有 4 个不同的界面,顶部有一个固定的选项菜单,我只在名为“操作”的界面中显示上下文菜单。

我想只使用一个 FragmentActivity 和一个可以在 fragment 之间切换的区域。这是一种好的做法还是我应该为每个界面保留一个 FragmentActivity?

到目前为止,我在每个界面上使用一个 FragmentActivity,但是当我更改 ( start ) FragmentActivity 时,它看起来像是在创建一个新对象,我的应用程序在打开新 Activity 之前闪烁。

提前致谢。

编辑:

这是我的应用程序的绘图:http://postimg.org/image/mvxyk2527/

最佳答案

这真的是很多个人喜好和要求。我不太相信“正确的方法”概念,如果你实现了你的目标,那就没错,但可能有更好的方法来做到这一点。

对我来说,这取决于每个 FragmentActivity 处理的嵌套 fragment 数量。如果你有一棵嵌套 fragment 树,你可能会陷入嵌套 fragment 堆栈等的困惑之中。

http://developer.android.com/training/implementing-navigation/temporal.html

就个人而言,如果我正在编写一个包含大量 fragment 的应用程序,我倾向于使用单个 Activity,这使得使用单个 fragment 堆栈的导航更易于管理,因为使用多个 FragmentActivity 实例将使用多个 fragment 堆栈。

http://developer.android.com/training/implementing-navigation/index.html

如果您想使用表格和滑动导航,您可以考虑使用 ViewPager 方法。尽管如果您有大量可滚动的内容 View ,我会犹豫,因为对于某些人来说,多方向手势界面可能会非常令人沮丧。

http://developer.android.com/training/implementing-navigation/lateral.html

如果您的代码干净、易于管理且没有泄漏引用,那么我可能会坚持使用您已有的代码,而不会浪费您的时间重构它。

关于android - 使用 fragment 的正确方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25997369/

相关文章:

android - 如何从子 Activity 更改父 Activity 布局

java - fragment 管理器 : popBackStack() and IllegalStateException

android - onActivityResult 未在 Fragment 中调用

android - 在 Android 的 fragment 中使用谷歌地图

android - Xamarin Studio 2 - 最新的稳定更新 - 执行任务 Aapt : The source sequence is empty 时出错

android - Gradle错误: “Failed to apply plugin [id ‘myappid’]”

javascript - react native 构建失败

java - 从倒计时获取变量并将其设置到 TextView

android - 通过本地或互联网进行语音聊天?

java.lang.IllegalStateException : Can not perform this action after onSaveInstanceState:- Error in Fragment