Intereting Posts
База данных Android SQLite разделена между действиями Android: Как установить изображение ImageSwitcher по растровому изображению? SetImageBitmap не существует? Разница между услугами и широковещательными приемниками Анимация текста с помощью TextSwitcher в Android Исключить .jar из компиляции в Android Studio с Gradle Android Throwing OutOfMemoryError «Не удалось выделить выделение по 164 байта с 44 свободными байтами и 44B до OOM» (рекурсивный случай) При кэшировании изображений и данных следует использовать внутреннее или внешнее хранилище? Анимация затухания в градиенте формы формы Выполнение скриншота программно не захватывает содержимое поверхности Как указать действия, которые предназначены только для телефонов или планшетов на Android Как начать обслуживание с фрагментов Пользовательская сборка Android с использованием Ant Лучший способ конвертировать iPhone 3-D игровой код для работы на устройствах Android? Отключить ViewRootImpl в Android Log? googleMap.getMyLocation (); Не может получить текущее местоположение

Как узнать, отклонен ли диалог в Android?

Если диалог отклонен, я хочу что-то сделать для своего фона. Поэтому я хочу знать, отклонен ли диалог

Solutions Collecting From Web of "Как узнать, отклонен ли диалог в Android?"

Вы можете использовать onDismissListener

http://developer.android.com/reference/android/content/DialogInterface.OnDismissListener.html

 public Dialog createDialog() { Dialog d = new Dialog(this); d.setOnDismissListener(new OnDismissListener() { @Override public void onDismiss(final DialogInterface arg0) { // do something } }); return d; } 

Если вы используете DialogFragment просто переопределите onDismiss()

http://developer.android.com/reference/android/app/DialogFragment.html#onDismiss(android.content.DialogInterface)

@ Ken Wolf имеет отличный ответ на этот вопрос.

Просто хотел добавить, что onDismissListener был введен только в API 17 . Если вы пытаетесь поддержать что-то более низкое, вы можете использовать onCancelListener , что не так хорошо, но охватывает такие случаи, как backButton и выстукивание вне AlertDialog.

http://developer.android.com/reference/android/content/DialogInterface.OnCancelListener.html#onCancel(android.content.DialogInterface)

 public Dialog createDialog() { Dialog d = new Dialog(this); d.setOnCancelListener(new DialogInterface.OnCancelListener() { @Override public void onCancel(DialogInterface dialog) { // do something } }); }