Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/backbone.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Java Android Studio中删除对话框周围的触摸_Java_Android_Dialog - Fatal编程技术网

在Java Android Studio中删除对话框周围的触摸

在Java Android Studio中删除对话框周围的触摸,java,android,dialog,Java,Android,Dialog,我正在研究如何消除对话框周围触摸的效果 我在未检测到连接时创建了一个对话框 代码 @Override public void onErrorResponse(String _param1, String _param2) { final String _tag = _param1; final String _message = _param2; nc.setTitle(&qu

我正在研究如何消除对话框周围触摸的效果

我在未检测到连接时创建了一个对话框

代码

@Override
            public void onErrorResponse(String _param1, String _param2) {
                final String _tag = _param1;
                final String _message = _param2;
                nc.setTitle("No connection");
                nc.setIcon(R.drawable.ic_launcher);
                nc.setMessage("Turn on your connection and then relaunch the app");
                nc.setPositiveButton("Retry", new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface _dialog, int _which) {
                        i.setClass(getApplicationContext(), SplashActivity.class);
                        startActivity(i);
                    }
                });
                nc.setNegativeButton("Close App", new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface _dialog, int _which) {
                        finish();
                    }
                });
                nc.create().show();
            }
        };
    }
当对话框出现时,它必须使350x100

当我点击对话框周围的屏幕时,它将被删除


我想知道是否可以在显示对话框时删除对话框周围的触摸?

您可能需要在创建过程中添加可设置取消(false)


试试这个:
对话框。setCanceledOnTouchOut(false)。它仍然允许您使用“后退”按钮取消对话框,但当触摸对话框周围时,它将阻止对话框关闭

编辑

在代码中,您应该更改
nc.create().show()在结尾处至:

AlertDialog alertDialog = nc.create();
alertDialog.setCanceledOnTouchOutside(false);
alertDialog.show();

谢谢,请问我到底要在哪里添加它?@Steven检查我的编辑。效果非常好,非常感谢