AlertDialog Builder:在对话框外单击添加事件

时间:2017-05-05 12:22:58

标签: android alertdialog android-alertdialog

在使用相机扫描后,我添加了一个警告对话框,其中包含HttpURLConnection的响应。

我设置了一个名为" SCANSIONA"的正面按钮。调用函数" scanNow()"返回相机并设置builder.setCancelable(false)。

但是为了没有强迫用户完全点击该按钮,我想为事件添加相同的功能" onCancel"。

但它不起作用,对话框消失但没有事件被触发。

我试过" builder.setCanceledOnTouchOutside(true)"和" dialog.setCanceledOnTouchOutside(true)"但是这两种情况我收到错误"无法解决方法"。

出了什么问题? 代码如下:

@Override
    protected void onPostExecute(String result) {
        AlertDialog.Builder builder=new AlertDialog.Builder(HomeActivity.this);
//            builder.setCancelable(false);
            builder.setTitle("Voto registrato!");
            builder.setMessage(result.toString());
            builder.setPositiveButton("SCANSIONA", new DialogInterface.OnClickListener() {
                @Override
                public void onClick(DialogInterface dialog, int which) {
//                        dialog.dismiss();
                    scanNow();
                }
            });
//            builder.setCanceledOnTouchOutside(true);
        builder.show();
        builder.setOnCancelListener(
                new DialogInterface.OnCancelListener() {
                    @Override
                    public void onCancel(DialogInterface dialog) {
        //            dialog.setCanceledOnTouchOutside(true);
                       scanNow();
                    }
                }
        );
    }

0 个答案:

没有答案