Отклонение фрагмента диалога, который запускается из другого фрагмента диалога, приводит к исключению недопустимого состояния - PullRequest
0 голосов
/ 01 января 2019
DialogFragment customCurrentDialogFragment; -> custom dialog

Запуск диалога из другого фрагмента диалога (фрагмент A):

FragmentManager fragmentManager = getFragmentManager();  
customCurrentDialogFragment = new CustomLoader();  
customCurrentDialogFragment.setCancelable(false);  
customCurrentDialogFragment.show(fragmentManager, "dialog");

Отклонение во фрагменте A:

customCurrentDialogFragment.dismiss();

1 Ответ

0 голосов
/ 01 февраля 2019

Вы можете использовать dismissAllowingStateLoss() метод DialogFragment.

Поскольку вы вызываете метод show () с помощью диспетчера фрагментов, вы можете использовать метод dismissAllowingStateLoss () для закрытия фрагмента диалога.Между тем, это не работает, если вы используете метод show () с использованием транзакции фрагмента, потому что popBackStack вызывает enqueueAction () с allowStateLoss = false

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...