Androidでボタンを使用してプログラムでダイアログを閉じるにはどうすればよいですか?
[OK]ボタンのあるダイアログがあり、[OK]ボタンで閉じることを想像してみてください。しかし、それはできません。
私はグーグルで検索して、何も役に立たなかったので、ほとんどすべてがダイアログではなくAlertDialogを閉じました。
ダイアログで dismiss
を呼び出すことができます。
これは、2つのボタン([OK]と[キャンセル])でAlertDialogを作成する方法の例です。キャンセルボタンをクリックすると、
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()
は、本質的にdismiss()の呼び出しと同じですが、 DialogInterface.OnCancelListener
(登録されている場合)。
dismiss();
オプションの代わりに、ダイアログを別のActivity
(s.a. DialogActivity
)として持っている場合、それを閉じる別の方法は以下を呼び出すことです:
_ finish();
_
OnClickListener
クラスのonClick()
メソッド内でこのメソッドを呼び出します。
これはonPause()
、onStop()
、およびonDestroy()
メソッドを結果的に呼び出し、現在のアクティビティを強制終了します-Backボタンと同じです。