在AlertDialog.Builder中设置setCancelable(false)来避免点击外部或返回键关闭对话框。同时,在确认按钮的点击事件中手动调用dialog.dismiss()来关闭对话框。
示例代码如下:
AlertDialog.Builder builder = new AlertDialog.Builder(context);
builder.setMessage("确认关闭对话框吗?");
builder.setCancelable(false);
builder.setPositiveButton("确定", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.dismiss(); // 手动关闭对话框
}
});
AlertDialog dialog = builder.create();
dialog.show();