选择选项时更改列表的背景颜色(AlertDialog),并再次打开它

时间:2017-09-06 04:53:44

标签: android alertdialog

我对如何进行自定义alertdialog有疑问 当我选择它时,它改变了它的背景,如果我选择另一个项目,新的一个改变它的背景,之前返回它的正常背景。

String[] list = {"1","2","3","4","5"}

AlertDialog.Builder builder = new AlertDialog.Builder(activity_main_panel.this);
    builder.setTitle("tittle");
    builder.setItems(list, new DialogInterface.OnClickListener() {
        @Override
        public void onClick(DialogInterface dialogInterface, int i) {
        }
    });
    builder.setNegativeButton(R.string.cancelar, new DialogInterface.OnClickListener() {
        @Override
        public void onClick(DialogInterface dialogInterface, int i) {
            dialogInterface.dismiss();
        }
    });


AlertDialog alert = builder.create();
alert.show();

关于我想要的图片: 首先选择

enter image description here

第二次选择

enter image description here

2 个答案:

答案 0 :(得分:0)

而不是取字符串数组为行项创建一个模型类,并取一个变量让我们说isSelected,并在onBindViewHolder方法中这样做

       if(obj.isSelected) {
            view.setBackgroundColor(yellow) }
        else {
            view.setBackgroundColor(transparent) 

和onItemClick将该位置设置为true,将其他位置设置为false,然后通知适配器。

希望它可以帮到你。

答案 1 :(得分:0)

遇到同样的问题。我使用setAdapter()而不是setItems()来修复它,您可以自定义适配器来设置背景颜色。 例如,如果您使用ArrayAdapter,则可以覆盖getView()以自定义您的要求,并设置背景颜色。