Я использую AppCompatDialogFragment
.Мой dialogFragment не отклоняется по некоторому сценарию.
Поток сценария:
- Отображение диалогового фрагмента
- Диалоговый интерфейс dialogFragment имеет кнопку Button.In нажатие кнопки вызывает API, и после ответа API я закрываю диалоговое окно иустановите для myObject значение null, так как мне не нужен этот объект.
- Затем я показываю второе диалоговое окно, и пользователь вручную закрывает это диалоговое окно.
- После закрытия второго диалогового окна пользователи могут взаимодействовать (щелкните на этомкнопка) с первым dialogFragment
Я получаю сбой при нажатии кнопки dialogFragment при щелчке пустой ссылки на объект myObject, для которой ранее было установлено значение null.
Пользователь может нажать кнопку после dialogFragment.отклонить вызов.Поскольку я установил для myObject значение null в первый раз, поэтому я получаю Exception. Но пользователь не должен нажимать второй раз, как я вызвал dismiss ().
Я не могу сгенерировать это исключение и его возникновениев некоторых случаях в прямом эфире, и я проследил сценарий с помощью Crash Log
Сбой происходит только тогда, когда пользователь может нажать второй раз
Почему dialogFragment не отклоняет некоторыедело?Я использую dialogFragment.dismiss()
метод для увольнения.
Это происходит из-за потери состояния?Но я думаю, что в случае потери состояния я должен получить исключение для IllegalStateException
Обходной путь может быть getSupportFragmentManager().executePendingTransactions()
.
Кто-нибудь может объяснить сценарий?почему это происходит или как это решить.
Заранее спасибо