关于RecyclerView嵌套导致item复用异常,界面异常的问题
常规需求:
外层RecyclerView嵌套内层RecyclerView , 在上下滑动的时候会出现item数据以及view的显示异常。
解决办法:
1、重写 getItemViewType 方法
/** * 重写 避免滑动过程界面混乱 * @param position * @return */ @Override public int getItemViewType(int position) { return position; }
2、因为是RecyclerView的复用机制导致的问题,可以暴力解决,禁止RecyclerView的复用,则不会出现view的异常
使用方法:
在 protected void convert()方法中执行
.setIsRecyclable(false); // 禁止复用
注意,禁止复用会导致性能过低,若是列表中没有图片等耗性能需求,则可以考虑使用
禁用复用会导致remove() notifyItemRemoved() notifyItemRangeChanged()等一系列刷新删除操作出现异常,若有该需求,则不适用该方法
作者:听着music睡
出处:http://www.cnblogs.com/xqxacm/
Android交流群:38197636
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。