android - 通过 xml 中的 <fragment> 标签或通过代码中的 FragmentManager 将 fragment 添加到 Activity 中哪个更好?

标签 android android-layout android-fragments

我已经开始开发 Android 应用程序,我想知道在向 Activity 添加 fragment 的情况下哪种方法更好。我们假设 Activity View 始终包含三个 fragment 。他们不会改变。永远都是一样的。那么是通过标签添加它们更好还是将它们包含在 Activity 代码中更好?

还有第二个问题: 假设我有一个 fragment 的 Activity ,它是一个列表。然后,当我单击项目时,我想显示新 View 。然后我可以用新的完全不同的 fragment 替换列表 fragment 吗?即使答案是肯定的,那么它比创建新 Activity 更好吗?

感谢大家的回复

最佳答案

which way is better in case of adding fragments to activity

一种方法不一定比另一种“更好” - 它们都有各自的目的,就像任何静态与动态比较一样。

例如,无法使用 setArguments() 为布局中声明的 fragment 提供参数。这样的 fragment 也不能被另一个 fragment 替换:如果它是布局的一部分,它将永远存在。当然,您仍然可以显示/隐藏实例,但尝试通过 FragmentTransaction 实际删除它根本不起作用。不过,静态元素通常更容易使用,因为它们具有明确定义的生命周期和行为。

关于你的第二个问题:是的,这很有可能。一些开发人员围绕单个 Activity 容器构建应用程序,当用户浏览内容时交换 fragment 。在大多数情况下,从用户的角度来看,执行此操作或进行多个 Activity 之间没有什么区别。要记住的重要一点是选择一种您喜欢的方法,不要使事情过于复杂并利用 Implementing Effective Navigation 中解释的模式。 .

关于android - 通过 xml 中的 <fragment> 标签或通过代码中的 FragmentManager 将 fragment 添加到 Activity 中哪个更好?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17866045/

相关文章:

Android Intent.FLAG_ACTIVITY_SINGLE_TOP 和 Intent.FLAG_ACTIVITY_CLEAR_TOP

android - android 元素 id 的最大允许长度是多少?

java - 如何将对象从 Activity 发送到 fragment ?

Android Alert Dialog 用另一种颜色替换默认的蓝色

android - 为什么每当我翻阅我的应用程序 viewPager 时,我的 fragment onCreate 都会被广泛调用?

安卓:DialogFragment.dismissInternal 处的 NullPointerException 处 DialogFragment.dismissAllow

android - ViewPager - FragmentStatePagerAdapter 和处理旋转

java - 每天没有收到本地警报通知

android - bada中是否有类似于android中的 "Context"的类?

机器人 : Textview Set Style in runtime