我有一个使用AlertDialog.builder构建的alertDialog。
然后我给它一个自定义的xml布局。
在该布局中,我有onclick方法的图像视图。
当我点击它们时,我想运行一些效果很好的代码,但我也想关闭对话窗口。
我该怎么做?我似乎没有对话框的引用,我不能给对话框一个ID?
现在我将对话框保存到公共字段,然后通过指向该引用来关闭它,但这似乎是一种可怕的方式。
感谢任何帮助:)
编辑:我的代码`AlertDialog.Builder alert = new AlertDialog.Builder(this);
alert.setTitle("Choose Color");
LayoutInflater inflater = this.getLayoutInflater();
View v = inflater.inflate(R.layout.colorpicker, null);
alert.setView(v);
Dialog d=alert.create();`
并且colorpicker布局有16个不同的图像视图,在单击时运行changecolor方法(使当前颜色变为现实)
答案 0 :(得分:0)
为了最好地回答您的问题,我们需要您发布代码示例,但您可以尝试这个
.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();
}
});
答案 1 :(得分:0)
好的我会假设您的关闭按钮位于您的布局中,所以您可以做的是更改
Dialog d=alert.create();`
到一个全局变量,然后为你的按钮设置一个onclick监听器
YOUR_BUTTON.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
YOUR_DIALOG.dismiss();
}
});