Я испытываю странное, возможно, зависящее от версии поведение с моим подклассом DialogFragment при тестировании следующих шагов:
(1) Откройте диалоговое окно
(2) Выйдите из приложения, нажав клавишу «Домой» или клавишу «Последние приложения»
(3) Вернитесь в приложение, и диалоговое окно больше не будет отображаться. Оно кажется ненадолго полупрозрачно видимым позади основного действия.
(4) Поверните устройство, и снова появится диалоговое окно.
Эта ошибка возникает на моем планшете Asus TF700T под управлением Android 4.2.1 и не на моем телефоне Motorola Razr под управлением Android 4.1.2 (у которого есть клавиша меню, а не кнопка переполнения). Более того, это только происходит, если диалоговое окно открывается через меню переполнения — диалоговые окна, открытые через элементы панели действий, не проявляют этой проблемы! И, наконец, проблема не возникает, если изменить ориентацию до приостановки действия.
Я нашел очень похожую проблему, которая включает удручающие комментарии вроде «Это явно ошибка Android». Имеются связанные отчеты об ошибках. Пожалуйста, скажите, что это не так. т так...
Мой обходной путь для этой проблемы находится в onResume(): я проверяю FragmentManager на наличие существующих диалогов с помощью findFragmentByTag; если какие-либо не равны нулю, я отклоняю и повторно показываю их. Но я хотел бы понять, что здесь происходит на самом деле.