标签:
最近自定义显示不同item类型RecyclerView,并给每个选中的item标注选中的状态,于是重写RecyclerView.Adapter来实现;
这过程中,遇到一些问题,在这里整理需要注意的点:
1、通过重写 GetItemViewType方法类设置item显示不同类型的HoldView;在 OnCreateViewHolder方法中,根据不同的类型,显示不同的Holdview;
2、在重写 OnCreateViewHolder方法时,附加事件的定义; 如果在重写 OnBindViewHolder方法中定义会出现异常情况,而且会影响每次刷新的效率;
3、更新被选中Item的状态的时,如果每次只标记当前选中的Item的状态,可以用变量记录下当前的nowSelectIndex,然后,通过列表托管的 layoutManager来判断
上一个选中项的是否在当前显示的Item范围内,如果在,则用 NotifyItemChanged(nowSelectIndex)或其他Notify方法刷新列表,并更新nowSelectIndex
的值,这种方法实现更新选中item状态的代码是放在 OnBindViewHolder方法的实现过程中。
上面是个人见解,希望大S路过时指点 <.>
标签:
原文地址:http://www.cnblogs.com/eebb88/p/5041430.html