我有一個對話框顯示,我希望當按下後退按鈕要求用戶確認他想在取消生效之前取消對話框時。這裏是我的代碼:對話框上的返回按鈕取消對話框,即使我有一個聽衆
dialog.setOnCancelListener(new OnCancelListener(){
@Override
public void onCancel(DialogInterface arg0) {
AlertDialog.Builder builder = new AlertDialog.Builder(dialog.getContext());
builder.setMessage("Are you sure you want to cancel?")
.setCancelable(false)
.setPositiveButton("Yes", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface diag, int id) {
diag.dismiss();
dialog.dismiss();
}
})
.setNegativeButton("No", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface diag, int id) {
diag.cancel();
}
});
AlertDialog alert = builder.create();
alert.show();
}
});
dialog.show();
的問題是,當返回按鈕被擊中,然後我目前的對話被取消,顯示我的「確認消息」。我如何確保在用戶確認之前不會取消對話框?
好,但「返回true」必須在if塊中,否則它會消耗每個按鍵。 – WindRider