DialogFragment ведет себя по-разному при вызове через ActionBar

Я испытываю странное, возможно, зависящее от версии поведение с моим подклассом DialogFragment при тестировании следующих шагов:

(1) Откройте диалоговое окно
(2) Выйдите из приложения, нажав клавишу «Домой» или клавишу «Последние приложения»
(3) Вернитесь в приложение, и диалоговое окно больше не будет отображаться. Оно кажется ненадолго полупрозрачно видимым позади основного действия.
(4) Поверните устройство, и снова появится диалоговое окно.

Эта ошибка возникает на моем планшете Asus TF700T под управлением Android 4.2.1 и не на моем телефоне Motorola Razr под управлением Android 4.1.2 (у которого есть клавиша меню, а не кнопка переполнения). Более того, это только происходит, если диалоговое окно открывается через меню переполнения — диалоговые окна, открытые через элементы панели действий, не проявляют этой проблемы! И, наконец, проблема не возникает, если изменить ориентацию до приостановки действия.

Я нашел очень похожую проблему, которая включает удручающие комментарии вроде «Это явно ошибка Android». Имеются связанные отчеты об ошибках. Пожалуйста, скажите, что это не так. т так...

Мой обходной путь для этой проблемы находится в onResume(): я проверяю FragmentManager на наличие существующих диалогов с помощью findFragmentByTag; если какие-либо не равны нулю, я отклоняю и повторно показываю их. Но я хотел бы понять, что здесь происходит на самом деле.




Ответы (1)


Я предполагаю, что ответом на этот вопрос является отчет об ошибке Google, указанный выше. Я изменил свой дизайн, чтобы избежать этой проблемы, поэтому я не пробовал обходной путь, который кто-то там опубликовал.

person sacheie    schedule 15.09.2013