RecyclerView滑动遇到的坑(动态添加布局引起的)

来源:互联网 发布:金十财经数据实时资讯 编辑:程序博客网 时间:2024/06/02 04:31

最近测试给我提了这样一个bug 有个用RecyclerView写的列表界面向下滑不正常,当时我都惊呆了,下滑怎么还能出问题?结果一看还真的是这样,大致问题描述是这样的:整体界面是RecyclerView,先滑到最底部,然后再向上滑的时候(缓慢的滑),滑过大概一页后,发现会闪一下屏,并且条目的位置会回到手指初始时滑动的位置..

    楼主也是第一次碰到这种问题,当时就想是不是因为RecyclerView复用Item的问题导致的,然后就去看源码,各种去各种搜经验.最终发现根据网上的办法更改后在自己的项目里并没有什么卵用.后来又看到这一个适配器的UI界面里有复选框,就考虑到是不是复选框的问题.经过细致的排查分析后,很遗憾,也不是.这就让我非常抓狂了.百思不得其解  下面的动态图就是bug所在.上图!

就是它,后来综合了各种情况,我还是决定去onBindViewHolder方法里去寻找原因,突然我发现有一个地方非常可疑,

上面这段代码其实就是一个动态添加WebView布局的一个操作,重点看我注释过的地方,有这样一行代码 holder.ll_content.removeAllViews(); 让我恍然大悟,不禁感叹 前人果然给我留下了一个大坑.明明可以直接在布局文件里添加一个WebView就能好的事 为什么要动态添加呢?果断注释重写 问题迎刃而解.开心..


总结来说:各位同学在遇到类似于RecyclerView上下滑动出现问题的时候(这里不是指刷新和加载,只是单纯的滑动),重点要看一下onBindViewHolder里的逻辑实现和数据源.很多问题就是出现在了这里.谨以我的亲身经历给大家填个坑,毕竟我碰到了这个坑的时候,百度也没解决.以往有人在遇到的时候,能给你们一点帮助.

阅读全文
1 0
原创粉丝点击