Отображение фрагментов диалогового окна "не может выполнить это действие после onSaveInstanceState" исключение - PullRequest
0 голосов
/ 12 июля 2019

Иногда и на некоторых устройствах фрагмент диалога приводит к сбою активности из-за вышеупомянутого незаконного исключения

Я пробовал shownow (), который помогал только на некоторых устройствах, но проблема все еще существует.

val dialog = CustomDialogFragment.newInstance(false, correctAnswer, true)
dialog.show(supportFragmentManager, "alert")

Мне нужен экземпляр диалога для будущего использования, в противном случае я бы использовал show сразу после newInstance ().Какое возможное решение?

1 Ответ

0 голосов
/ 12 июля 2019

Основная причина этой проблемы - вы пытаетесь показать, что действие FragmentDialog изменило свое состояние на onPause ().

Чтобы справиться с этим, вы должны проверить состояние жизненного цикла, прежде чем показывать диалоговое окно

if(lifecycle.currentState.isAtLeast(Lifecycle.State.STARTED)){
   val dialog = CustomDialogFragment.newInstance(false, correctAnswer, true)
   dialog.show(supportFragmentManager, "alert")
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...