RecyclerView 使用 notifyItemChanged(int position)进行局部刷新时只能刷新可见的部分,不可见的部分刷新不了怎么办?
Week week = new Week();
week.setWeek(weekList.get(lastShowWeek).getWeek()); //设置第几周
week.setShowWeek(false); //设置这当前的item是否显示背景色
weekList.set(lastShowWeek,week);
weekAdapter.notifyItemChanged(lastShowWeek); //lastShowWeek 上次选中的item
week = new Week();
week.setWeek(weekList.get(showWeek-1).getWeek());
week.setShowWeek(true);
weekList.set(showWeek-1,week);
weekAdapter.notifyItemChanged(showWeek-1); //show-1 为此次选中的item
点击item时,若上次选中的item在可是范围内则可以正常刷新,若上次选中的item不在可视范围内就出现了刷新不成功的问题(上次选中item的背景色不会清除)

这是方法的说明,下标不要搞错。
其实你传入一个参数的时候,它是更新了当前位置往前的所有内容
如果你下标错了,你可以单独+1,或者-1验证一下即可。
如果内容不多,你可以直接使用notifydatasetChange()