Androidでアラートダイアログをタップしてもダイアログを閉じないようにするにはどうすればいいですか?
AlertDialogでボタンをクリックしてもダイアログを閉じないようにするには、DialogInterface.OnClickListenerのリスナーをセットして、リスナー内で処理を行う。
まず AlertDialog インスタンスを作成し、クリックイベントリスナーを設定します:
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setTitle("提示");
builder.setMessage("是否确认操作?");
builder.setPositiveButton("确定", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// 处理点击确定按钮的事件
// 不调用dialog.dismiss()方法,对话框不会关闭
}
});
builder.setNegativeButton("取消", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// 处理点击取消按钮的事件
dialog.dismiss(); // 关闭对话框
}
});
AlertDialog dialog = builder.create();
dialog.show();
「OK」ボタンを押下した場合、処理が完了してもdialog.dismiss()を呼び出さなければ、ダイアログは閉じません。一方で、「キャンセル」ボタンを押下した場合、dialog.dismiss()を呼び出すことでダイアログを閉じることができます。
dialog.dismiss()メソッドを呼び出してダイアログを閉じなければ、適切なタイミングで手動でdialog.dismiss()メソッドを呼び出してダイアログを閉じる必要があります。そうしないと、ダイアログは画面にずっと表示され続けます。