美文网首页
CoordinatorLayout中的RecyclerView快

CoordinatorLayout中的RecyclerView快

作者: vb12 | 来源:发表于2018-06-04 15:01 被阅读462次

问题描述:

当在CooridnatoryLayout中嵌套AppBarLayout + RecyclerView时, 发现一个问题. 当RecyclerView快速滑动到底部, 原来的加载更多功能不能及时触发, 需要等待一定的时间, 比如几秒种, 才会触发加载更多. 检查发现, 是因为RecyclerView 的onScrollStateChanged()回调没有及时调用, 为什么会这样的, 原来是快速滑动时, 触发了一个fling, RecyclerView一直等到这fling结束才调用onScrollStateChanged()回调方法.
实际上这个问题在这里有更深入的讨论:
https://stackoverflow.com/questions/48204549/recyclerview-scroll-state-idle-is-being-called-late
https://issuetracker.google.com/issues/66996774
里面也附带了chrisbanes的解决方法.

我自己通过监听RecyclerView的状态, 也整理了一份解决方法. 放在下面这个地址了:
https://github.com/shaopx/RecyclerView66996774Workaround

2018.9.13 掘金上也有类似的文章了:https://juejin.im/entry/5b978fe8f265da0b001f16c0 据这篇文章说最新的28rc02版本已经解决这问题, 但我没有验证, 请升级最新版本试试吧.

相关文章

网友评论

      本文标题:CoordinatorLayout中的RecyclerView快

      本文链接:https://www.haomeiwen.com/subject/apfysftx.html