次の警告ダイアログには、タイトルと 4 つの項目 (赤、緑、青、黒) があります。これらのアイテムのいずれかが選択されるたびにアイコンを変更したいと思います。
これが私のコードです:
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() メソッドが呼び出されているという事実を証明できます。ただし、警告ダイアログの外観に変更はありません。事実上、正しいメソッドが実行されてもアイコンは変更されません。
誰かがこれを行う方法を説明してください。