Android dialog z порядок изменяется при повторном создании activity

#java #android #android-fragments

#java #Android #android-фрагменты

Вопрос:

У меня есть приложение, которое может запускать диалоговое окно, которое реализовано как DialogFragment. Этот диалог может сам запускать другой диалог в качестве своего дочернего, этот другой диалог также реализован с использованием DialogFragment.

Дочернее диалоговое окно отображается над родительским диалоговым окном правильно при запуске, однако после перерисовки действия (например, из-за изменения ориентации) родительское диалоговое окно отображается над дочерним диалоговым окном.

Итак, мой вопрос: как я могу предотвратить это изменение z-порядка диалогов при перерисовке activity или как я могу исправить это после перерисовки?

В основном так дочерний диалог создается родительским:

 ChildDialog child = new ChildDialog();
child.show(getChildFragmentManager(), INVOKED_LOC_SEL_DIALOG_TAG);
  

Я не хочу скрывать родительский диалог при вызове дочернего диалога, поскольку диалог не отображается снова сразу после вызова show(), а вместо этого исчезает. Я был бы в порядке с этим решением, если бы мог подавить анимацию затухания в этом конкретном случае.
Запрос фокуса на любое представление дочернего диалогового окна или явный вызов show() в дочернем диалоговом окне, когда оно должно быть на переднем плане, мне не помогли.
Использование диспетчера родительских фрагментов также не уменьшило проблему.

Я использую androidx.fragment.app.DialogFragment из androidx.fragment: фрагмент: 1.2.5

Комментарии:

1. Какую версию фрагментов вы используете?

2. Обновлен вопрос — версия 1.2.5