DialogFragment 在方向更改时被解雇

DialogFragment dismissed on orientation change

我有一个保留片段,其中显示了一个对话框片段。问题是对话框在方向更改时被关闭。

* 请注意,我遇到的问题不是对话框片段本身有 setRetainInstance(true),而是我在其中显示对话框的根片段 *

在根片段中将它设置为 setRetainInstance(false) 可以解决问题,但它需要保留在我的应用程序中。

* 目前我观察到的是,只要 FragmentManager 包含一个保留的片段,对话框就会在方向改变时消失!这是为什么?! *

我尝试了 here 建议的流行解决方法,但没有用。

我已经尝试解决这个问题大约一年了,但没有成功。

好吧,我找到了问题的根源。 看来我在搞乱 activity 如何保留 FragmentManager 然后在 activity 重新创建时恢复片段的状态。

我做了一个 Fragment 静态的项目,并使用 <Fragment> 标签在 activity 布局中构建。问题消失了。

因为我在我的应用程序中使用了动态片段,而静态片段也很好,所以我怀疑我在 activityonCreate 方法中没有以正确的方式替换片段。

已更正该问题,此问题已解决。