繁体   English   中英

在单击的侦听器中编辑警报对话框

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM