要实现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();
在点击确定按钮时,处理完事件后不调用dialog.dismiss()
方法,对话框就不会关闭。而点击取消按钮时,可以调用dialog.dismiss()
方法来关闭对话框。
注意:在点击确定按钮的事件处理方法中,如果不调用dialog.dismiss()
方法关闭对话框,需要在合适的时机手动调用dialog.dismiss()
方法来关闭对话框,否则对话框将一直显示在屏幕上。