Как закрыть родительский пользовательский диалог при нажатии Ok во втором диалоге - PullRequest
0 голосов
/ 18 апреля 2019

Я показываю два диалоговых окна, каждое из которых должно отображаться с разными сетевыми вызовами для одной и той же активности (активность входа в систему).В котором, если я нажимаю на текстовое представление «Переслать электронную почту» в первом диалоговом окне, у меня появляется другой сетевой вызов, который показывает мне другое диалоговое окно.Когда я нажимаю «ОК» во втором диалоговом окне, оно закрывается.Но первый все еще показан.Итак, как отклонить оба, когда я нажимаю «ОК» на втором.

Ответы [ 2 ]

0 голосов
/ 18 апреля 2019

Отключить оба диалоговых окна, когда нажата кнопка, и перед закрытием необходимо проверить, является ли диалоговое окно видимым или нет, чтобы избежать исключения нулевого указателя.

btn_ok.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        if(dialog.isShowing())
        dialog.dismiss();
        if(firstdialog.isShowing())
        firstdialog.dismiss();
    }
});
0 голосов
/ 18 апреля 2019

создайте локальную Dialog переменную dialogOne, и когда вы нажмете ОК в диалоговом окне, два отклонят оба

   btn_ok.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        isShown = true;
        dialog.dismiss();
        dialogOne.dismiss();
    }
});
...