要實現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()
方法來關閉對話框,否則對話框將一直顯示在屏幕上。