DialogFragment在方向更改时消失

时间:2012-02-18 03:59:41

标签: android android-fragments

虽然我看到很多问题都试图实现所有问题,但我决定再次提出这个问题,因为所提出的方法都不适用于我。

问题: 我试图在ActivityFragment中显示基于DialogFragment的自定义对话框。 由于它具有不同的布局,因此在方向更改时正在重新创建活动。 每次发生这种情况时,DialogFragment都会消失。 (我正在使用最新的支持包)

我累了的事情:

  1. 使用onRetainCustomNonConfigurationInstance尝试保存dilaog。
  2. 在onCreate对话框中使用setRetainInstance(true)。
  3. 对话框中的静态newInstance()方法。
  4. 覆盖对话框onDestroy以删除内部对话框上的destroy侦听器
  5. 以及其他一些文档化的解决方案。 似乎没有任何工作,我厌倦了这些解决方案的变化,我的自定义对话框在各种状态下拥有许多ui元素的原因,我真的必须让它工作。

    如果有人愿意为解决方案提供一些代码,我们将不胜感激。

    谢谢,   图腾

1 个答案:

答案 0 :(得分:3)

问题是FragmentManager也是通过父级的onSaveInstanceState()保留的,当我为了自己的目的而在ActivityFragment中覆盖它时我忽略了调用它。

谢谢,    图腾