Fragment的add()和replace()方法的基本区别

时间:2014-06-28 11:24:59

标签: android android-fragments

Fragment如何替换和添加方法的工作方式不同,是否有任何现实生活场景我们需要这些方法用于特定目的。

2 个答案:

答案 0 :(得分:22)

重要的区别是:

replace删除现有片段并添加新片段..

但是add会保留现有的片段并添加一个新的片段,这意味着现有的片段将处于活动状态,并且它们不会被暂停'状态因此当按下后退按钮时,不会为现有片段(添加新片段之前存在的片段)调用onCreateView()

有关详细信息,请访问this conversation.

答案 1 :(得分:2)

fragmentTransaction.replace(int containerViewId, Fragment fragment, String tag)

描述 - 它替换添加到容器的现有片段。这与使用相同的containerViewId添加的所有当前添加的片段调用remove(Fragment)基本相同,然后使用此处给出的相同参数调用add(int, Fragment, String)

fragmentTransaction.add(int containerViewId, Fragment fragment, String tag)

说明 - 将片段添加到活动状态。此片段也可以选择将其视图(如果Fragment.onCreateView返回非null)放入活动的容器视图中。

请访问以下官方android开发者链接,了解有关片段的更多详细信息... http://developer.android.com/guide/components/fragments.html