如何关闭使用自定义xml文件的android对话框

如何关闭使用自定义xml文件的android对话框,android,xml,dialog,android-alertdialog,Android,Xml,Dialog,Android Alertdialog,我有一个使用alertDialog.builder构建的alertDialog 然后我给它一个定制的xml布局 在该布局中,我有带有onclick方法的ImageView 当我点击它们时,我想运行一些非常有效的代码,但我也想关闭对话框窗口 我该怎么做?我似乎没有对对话框的引用,我不能给对话框一个ID 现在我将对话框保存到一个公共字段,然后通过指向该引用来关闭它,但这似乎是一种可怕的方式 感谢您的帮助:) 编辑:我的代码`AlertDialog.Builder alert=新建AlertDialo

我有一个使用alertDialog.builder构建的alertDialog

然后我给它一个定制的xml布局

在该布局中,我有带有onclick方法的ImageView

当我点击它们时,我想运行一些非常有效的代码,但我也想关闭对话框窗口

我该怎么做?我似乎没有对对话框的引用,我不能给对话框一个ID

现在我将对话框保存到一个公共字段,然后通过指向该引用来关闭它,但这似乎是一种可怕的方式

感谢您的帮助:)

编辑:我的代码`AlertDialog.Builder alert=新建AlertDialog.Builder(此)


colorpicker布局有16个不同的ImageView,单击时运行changecolor方法(即转换当前颜色)

为了最好地回答您的问题,我们需要您发布一个代码示例,但您可以试试这个

.setNegativeButton(android.R.string.cancel,new DialogInterface.OnClickListener() {
                public void onClick(DialogInterface dialog,int id) {
                    // if this button is clicked, just close
                    // the dialog box and do nothing
                    dialog.cancel();
                }
            });

好的,我假设你的关闭按钮在你的布局中,所以你能做的就是改变

Dialog d=alert.create();`
设置为全局变量,然后为按钮设置onclick侦听器

YOUR_BUTTON.setOnClickListener(new OnClickListener() {
        @Override
        public void onClick(View v) {
            YOUR_DIALOG.dismiss(); 
        }
    });    

我没有关闭按钮:(只有16个imageviewsokay,然后查看我以前的答案并发出警报。设置NegativeButton…这将添加一个按钮,请参考此按钮
YOUR_BUTTON.setOnClickListener(new OnClickListener() {
        @Override
        public void onClick(View v) {
            YOUR_DIALOG.dismiss(); 
        }
    });