网络上有很多方法,这里使用的是最原始的方法,没有使用框架。仅在Adapter中修改
1.创建一个索引值属性:
private int currentPosition = 0;
2.onBindViewHolder方法中初始化:
if(currentPosition==position){
textView.setTextColor(R.color.green_900);
linearLayout.setBackgroundResource(R.color.black_alpha_48);
}else {
textView.setTextColor(R.color.black_alpha_48);
linearLayout.setBackgroundResource(R.color.white);
}
3.设置点击事件:
将position赋值给currentPosition
notifyDataSetChanged()方法刷新Adapter,会重新调用onBindViewHolder,会重新初始化。第二步中的代码会再次执行,此时currentPosition会再次执行。
holder.view.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
currentPosition=position;
notifyDataSetChanged();
}
});
版权声明:本文为Grasslight原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。