RecyclerView中的单选选项

时间:2017-01-08 18:13:17

标签: android android-recyclerview

我试图获取如果一行被点击的行背景颜色变为蓝色 以前选择的行背景颜色变为透明,我该怎样才能实现这个

这是我的回收商视图适配器

XMM0

我的主要活动

XMM7

1 个答案:

答案 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