ダイアログが閉じられた場合、私は自分の背景のために何かしたいので、ダイアログが閉じられたかどうかを知りたい
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()
をオーバーライドするだけです。
@ケンウルフはこの質問に素晴らしい答えを持っています。
onDismissListener
がAPI 17
。より低いものをサポートしようとしている場合は、onCancelListener
を使用できます。これはあまり良くありませんが、backButtonやAlertDialogの外側をタップする場合などに対応します。
public Dialog createDialog() {
Dialog d = new Dialog(this);
d.setOnCancelListener(new DialogInterface.OnCancelListener() {
@Override
public void onCancel(DialogInterface dialog) {
// do something
}
});
}
アラートでオプションの1つを選択した場合でも(はい/いいえ/中立ボタン)、onDismissListener
が呼び出されることに気付きました。私にとっては、警告領域の外側をクリックしてダイアログを明示的に閉じることを追跡するものが必要だったので、onCancelListener
が最良のオプションでした。