我试图获取如果一行被点击的行背景颜色变为蓝色 以前选择的行背景颜色变为透明,我该怎样才能实现这个
这是我的回收商视图适配器
XMM0
我的主要活动
XMM7
答案 0 :(得分:0)
最好使用模式类来表示要加载到回收器视图中的数据。例如,
public class DataModel {
private String name;
private int type;
public DataModel(String name, int type) {
this.name = name;
this.type = type;
}
public int getType() {
return type;
}
public void setType(int type) {
this.type = type;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
使用此类模型类加载数据。在bindViewHolder中,您可以进行检查,
if (arrayList.get(position).getType() == 1)
holder.tv_simple_name.setTextColor(mContext.getResources().getColor(R.color.black));
else if (arrayList.get(position).getType() == 2)
holder.tv_simple_name.setTextColor(mContext.getResources().getColor(R.color.blue));
else if (arrayList.get(position).getType() == 3)
holder.tv_simple_name.setTextColor(mContext.getResources().getColor(R.color.transparent));
将此行添加到onClick
上的recyclerview项目 for (int i = 0; i < arrayList.size(); i++) {
if (arrayList.get(i).getType() == 2)
arrayList.get(i).setType(3);
else if (itemsList.get(i).getType() == 3)
arrayList.get(i).setType(1);
}
arrayList.get(position).setType(2);
notifyDataSetChanged();
在向模型类添加项目时,将所有项目的类型初始值设置为1