如何在android中用按钮关闭警报对话框

vsdwdz23  于 2021-06-30  发布在  Java
关注(0)|答案(2)|浏览(321)

我只想在用户选择框中的一个可用选项时关闭警报对话框,而在单击警报对话框周围的褪色区域时不关闭。那么如何防止警报对话框以这种方式关闭呢?

if (totalCount == 10){
        AlertDialog.Builder rateDialog = new AlertDialog.Builder(MainActivity.this);
        LayoutInflater layoutInflater = getLayoutInflater();
        View view = layoutInflater.inflate(R.layout.rating_deign, null);
        rateDialog.setView(view);
        final AlertDialog alert = rateDialog.create();
        alert.getWindow().setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT));
        alert.show();

        btn_rate = view.findViewById(R.id.btn_rate);
        close = view.findViewById(R.id.close);

        btn_rate.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                totalCount = 12;
                editor.commit();
                alert.cancel();
            }
        });
        close.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                totalCount = 0;
                editor.commit();
                alert.cancel();
            }
        });
    }
kwvwclae

kwvwclae1#

alert.setCancelable(false) 你需要补充。
设置对话框是否可取消。默认值为true。

u4vypkhs

u4vypkhs2#

ratedialog.Dismission是正确答案。

rateDialog.dismiss()

alert.setCancelable(false)

从setcancelable开始,您将最小化对话框而不是关闭。通过设置setcancelable(false),您可以通过单击“活动”中除对话框之外的任何位置来取消(消失)对话框。
结论:要关闭对话框,请使用dismise()。

相关问题