重叠DialogFragment,在方向更改时以错误的顺序重新创建

时间:2015-06-19 09:21:29

标签: android android-fragments android-dialogfragment orientation-changes

我正在使用两个重叠的DialogFragment(我知道,也许这不是一个好的设计模式),而且我在方向更改方面存在问题。

enter image description here

当方向发生变化时,最外部的DialogFragment(最小的)会落在最内部的后面。

我的应用程序最简单的解决方案可能是解除最外部的DialogFragment,但我无法执行此操作,因为setRetainInstance(false)似乎无法使用DialogFragment

片段以dinamically方式添加,调用:

DialogFragment fragment = CreateEventFragment.newInstance(0);
fragment.show(getFragmentManager(), CreateEventFragment.FRAGMENT_TAG);

1 个答案:

答案 0 :(得分:1)

我以这种方式解决了问题,覆盖了onSaveInstanceState

@Override
    public void onSaveInstanceState(Bundle outState) {
        if(outState==null)
            super.onSaveInstanceState(outState);
    }

现在,在更改之后,最外面的DialogFragment被保持为外部,因此它们会以正确的顺序重新创建。