Ответ 1
Вы можете вызвать dismiss
в диалоговом окне.
Как закрыть диалоговое окно в программном обеспечении Android, например, кнопкой?
Представьте, что у меня есть диалог с кнопкой OK на нем и вы хотите закрыть его кнопкой OK, но я не могу этого сделать!
Я googled и не нашел ничего полезного, и почти все из них для закрытия AlertDialog не диалогового окна.
Вы можете вызвать dismiss
в диалоговом окне.
Это пример создания AlertDialog с двумя кнопками (OK и отмена). При нажатии кнопки "Отмена"
dialog.dismiss()
вызывается, чтобы закрыть диалоговое окно.
Извне, вы можете позвонить
builder.dismiss();
AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
builder.setMessage("Some message.")
.setPositiveButton("OK", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
// do something
}
})
.setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
dialog.dismiss();
}
});
builder.show();
dialog.dismiss();
Только эта строка закроет его.: -)
Внедрите его в onClickListener.
Вы можете использовать методы cancel()
или dismiss()
. Метод cancel()
сути аналогичен вызову DialogInterface.OnCancelListener
(), но он также вызовет ваш DialogInterface.OnCancelListener
(если зарегистрирован).
Альтернатива dismiss();
вариант, если у вас есть ваш диалог в качестве отдельной Activity
(са DialogActivity
), еще один способ, чтобы закрыть его, чтобы позвонить:
finish();
Вызовите этот метод внутри класса OnClickListener
' onClick()
.
Это вызовет onPause()
, onStop()
и onStop()
и onDestroy()
текущее действие - так же, как кнопка " Назад".
Если вы хотите удалить диалог из действия
dialog.dismiss();
Если вы хотите удалить диалог из этого диалогового класса, чем использовать
this.dismiss();