Как узнать, отклонен ли диалог в 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 } }); }