为什么Android Sunshine示例使用.replace代替.add进行FragmentTransaction

时间:2018-06-01 18:34:50

标签: android

为什么我们使用.replace代替.add

if (savedInstanceState == null) {
            getSupportFragmentManager().beginTransaction()
                    .replace(R.id.weather_detail_container, new DetailFragment(), DETAILFRAGMENT_TAG)
                    .commit();
        }

我认为由于if()我们没有任何添加的片段,现在我们要替换!为什么我们使用替换?

1 个答案:

答案 0 :(得分:0)

根据谷歌文件

  

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

  

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