您的位置:首页 > 其它

RecyclerView.Adapter注意点

2015-12-12 16:32 281 查看
最近要显示不同item类型RecyclerView,并给每个选中的item标注选中的状态,于是重写RecyclerView.Adapter来实现;

这过程中,遇到一些问题,在这里整理需要注意的点:

1、通过重写 GetItemViewType方法类设置item显示不同类型的HoldView;在 OnCreateViewHolder方法中,根据不同的类型,显示不同item显示的Holdview信息;

2、在重写 OnCreateViewHolder方法时,附加事件的定义;如果在重写 OnBindViewHolder方法中定义会出现异常情况,而且会影响每次刷新的效率;

3、更新被选中Item的状态的时,如果每次只标记当前选中的Item的状态,可以用变量记录下当前的nowSelectIndex,然后,通过列表托管的 layoutManager来判断上一个选中项的是否在当前显示的Item范围内,如果在,则用 NotifyItemChanged(nowSelectIndex)或其他Notify方法刷新列表,并更新nowSelectIndex的值,这种方法实现更新选item状态的代码是放在 OnViewAttachedToWindow方法的实现过程中。因为,Notify类似的方法用来更新显示的列表item的状态,而未显示的item状态通过OnViewAttachedToWindow来实时更新。

以上能实现需要的效果,希望各位原友分享和指点 <.>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: