Android AlertDialog 不应因背景点击而消失

Android AlertDialog shouldn't disappear by background click

我在 Android Studio 中 java 并且有一个带两个按钮的 AlertDialog。我的问题是:当我按下背景而不是按钮时,我可以禁用该对话框不会消失吗?

我使用这段代码来显示对话框:

AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this, R.style.AlertDialogTheme);
View view = LayoutInflater.from(MainActivity.this).inflate(R.layout.layout_wellcome_start_dialog,(ConstraintLayout)findViewById(R.id.layoutDialogConstrainer));
builder.setView(view);
((TextView) view.findViewById(R.id.textTitle)).setText(getResources().getString(R.string.titel));
((TextView) view.findViewById(R.id.textMessage)).setText(getResources().getString(R.string.startinfoone));
((Button) view.findViewById(R.id.buttonYes)).setText(getResources().getString(R.string.ok));
((Button) view.findViewById(R.id.buttonNo)).setText(getResources().getString(R.string.ueberspringen));
((ImageView) view.findViewById(R.id.imageIcon)).setImageResource(R.drawable.ic_info);

final AlertDialog alertDialog = builder.create();

view.findViewById(R.id.buttonYes).setOnClickListener(new View.OnClickListener() {
     @Override
         public void onClick(View v) {
         alertDialog.dismiss();
         weiter();
     }
});

view.findViewById(R.id.buttonNo).setOnClickListener(new View.OnClickListener() {
     @Override
         public void onClick(View v) {
         alertDialog.dismiss();
     }
});

if (alertDialog.getWindow() != null){
     alertDialog.getWindow().setBackgroundDrawable(new ColorDrawable(0));
}

alertDialog.show();

谢谢!

将 AlertDialog.Builder 的 setCancelable 属性 设置为 false:

AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this, R.style.AlertDialogTheme);
builder.setCancelable(false);

还有alertDialog.setCanceledOnTouchOutside(false);