私はダイアログを表示していますが、戻るボタンが押されたときに、キャンセルが有効になる前にダイアログをキャンセルしたいという確認をユーザーに求めたいと思っています。これが私のコードです:
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();
問題は、戻るボタンを押すと、現在のダイアログがキャンセルされ、「確認メッセージ」が表示されることです。ユーザーが確認するまでダイアログがキャンセルされないようにするにはどうすればよいですか?