[英]Editing an alert dialog inside an on-click listener
以下警报对话框具有标题和四个项目(即红色,绿色,蓝色和黑色)。 每次选择其中一项时,我都想更改图标。
这是我的代码:
final AlertDialog.Builder alertDialog = new AlertDialog.Builder(this);
final CharSequence[] items = {"Red", "Green", "Blue", "Black"};
alertDialog.setTitle("Pick a color");
alertDialog.setSingleChoiceItems(items, 1, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface arg0, int num) {
switch(num) {
case 0: alertDialog.setIcon(R.drawable.red);
break;
case 1: alertDialog.setIcon(R.drawable.green);
break;
case 2: alertDialog.setIcon(R.drawable.blue);
break;
case 3: alertDialog.setIcon(R.drawable.black);
break;
}
}
});
我可以证明事实是正在调用.setIcon()方法; 但是,警报对话框的外观没有更改。 实际上,即使执行了正确的方法,也不会更改图标。
有人可以解释如何做到这一点。
您正在将图标设置为AlertDialog
构建器,但应设置为AlertDialog本身。 更改:
alertDialog.setIcon(R.drawable.XxX);
至:
((AlertDialog)arg0).setIcon(R.drawable.XxX);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.