在adapter中定义
private List<Boolean> isClicks;//控件是否被点击,默认为false,如果被点击,改变值,控件根据值改变自身颜色 初始化adapter的时候初始化isClicks;
public EvaluateListAdapter(Context context, int layoutRes, List<EvaluateListModel.ResBean> data) { super(context, layoutRes, data); mCon=context; isClicks = new ArrayList<>(); if(data!=null){ for (int i = 0; i < data.size(); i++) { isClicks.add(false); } } }
在数据集绑定的时候改变isClicks中值的状态
@Override public void bindData(final int position, ViewHolder holder, EvaluateListModel.ResBean resBean) { RelativeLayout rlayout_main =(RelativeLayout) holder.getView(R.id.rlayout_main); rlayout_main.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { for (int i = 0; i < isClicks.size(); i++) { isClicks.set(i, false); } isClicks.set(position, true); notifyDataSetChanged(); } });
}