在点击监听器中编辑警报对话框

时间:2013-04-08 21:08:20

标签: java android alertdialog android-alertdialog onclicklistener

以下警告对话框有一个标题和四个项目(即红色,绿色,蓝色和黑色)。我想在每次选择其中一个项目时更改图标。

这是我的代码:

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()方法;但是,警报对话框的美学没有任何变化。实际上,即使执行了正确的方法,图标也不会被更改。

有人可以解释一下如何做到这一点。

1 个答案:

答案 0 :(得分:0)

您正在设置AlertDialog构建器的图标,但应该是AlertDialog本身。 变化:

alertDialog.setIcon(R.drawable.XxX);

为:

((AlertDialog)arg0).setIcon(R.drawable.XxX);