style - ¿Cómo saber si un diálogo se descarta en Android?
dialog full screen android (3)
Si se descarta el cuadro de diálogo, quiero hacer algo para mi fondo. Por lo tanto, quiero saber si el cuadro de diálogo se descarta.
@Ken Wolf tiene una gran respuesta a esta pregunta.
Solo quería agregar que onDismissListener
solo se introdujo en la API 17
. Si está tratando de admitir algo más bajo, puede usar onCancelListener
, que no es tan bueno, pero cubre casos como BackButton y tapping fuera de AlertDialog.
public Dialog createDialog() {
Dialog d = new Dialog(this);
d.setOnCancelListener(new DialogInterface.OnCancelListener() {
@Override
public void onCancel(DialogInterface dialog) {
// do something
}
});
}
Noté que se llama a onDismissListener
incluso cuando selecciona una de las opciones en la alerta (Sí / No / Botón neutral). Para mí, onCancelListener
fue la mejor opción ya que necesitaba algo que rastreara un cierre explícito del diálogo haciendo clic fuera del área de alerta.
Puedes usar un 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;
}
Si está utilizando un DialogFragment
simplemente anule onDismiss()