为什么findFragmentById在方向更改时不为null?

时间:2016-07-07 10:06:32

标签: android android-fragments orientation-changes

我有一个片段活动

<FrameLayout android:id="@+id/list_fragment"
    android:layout_width="0dp"
    android:layout_height="match_parent"
    android:layout_weight="1" />

在onCreate上我第一次设置了一些内容

fm = getSupportFragmentManager();
fm.beginTransaction().add(R.id.list_fragment, mListFragment).commit();

当我现在旋转我的设备时,我的活动的onCreate被调用并且正在执行

 super.onCreate(savedInstanceState);

我的片段的onCreate也被调用了。现在

fm.findFragmentById(R.id.list_fragment); 

不是null,与第一次调用onCreate()不同,虽然使用了另一个layout-xml文件,旧片段在新视图中就位。

android会自动在新布局中搜索具有相同ID的视图并将片段放入其中吗?

编辑:

当我更改第二个布局中的id时,它似乎不再起作用(没有例外,但是空屏幕)确认了我的假设

编辑2

似乎这是我的问题的答案,但无法在谷歌文档中找到信息

https://stackoverflow.com/a/16946870/1131857

任何人都能解释一下android究竟是怎么做到的吗?

0 个答案:

没有答案