我正在使用两个重叠的DialogFragment
(我知道,也许它不是一个好的设计模式),我在方向变化方面存在问题。
当方向改变时,最外部的DialogFragment
(最小的)落后于最内部的。
对我的应用程序最简单的解决方案可能是解雇最外部的DialogFragment,但我无法做到,因为setRetainInstance(false)
似乎无法使用DialogFragment
。
片段是动态添加的,调用:
DialogFragment fragment = CreateEventFragment.newInstance(0);
fragment.show(getFragmentManager(), CreateEventFragment.FRAGMENT_TAG);
我用这种方式解决了问题,覆盖了onSaveInstanceState
:
@Override
public void onSaveInstanceState(Bundle outState) {
if(outState==null)
super.onSaveInstanceState(outState);
}
现在,在改变后,最大的qazxsw poi保持在外部,因此它们以正确的顺序重新创建。