RecyclerView SCROLL_STATE_IDLE 被延迟调用

Far*_*rwa 4 scroll android-layout onscrolllistener android-recyclerview android-coordinatorlayout

在 RecyclerView 上,在项目大小结束时以及向上滚动到 RecyclerView 顶部时,addOnScrollListener该属性需要一些时间才能被调用。SCROLL_STATE_IDLE但在滚动过程中效果很好。

布局的根视图是CoordinatorLayout。

Per*_*abs 5

遇到同样的问题,我发现的唯一解决方法是每当 RecyclerView 获得SCROLL_STATE_SETTLING时发送 stopScroll (),但这不是理想的解决方案。考虑到滚动方向,最好检测它是否到达顶部或底部边缘,然后调用 stopScroll():

@Override
public void onScrollStateChanged(final int state)
{
    super.onScrollStateChanged(state);

    if (state == RecyclerView.SCROLL_STATE_SETTLING)
    {
        this.stopScroll();
    }
}
Run Code Online (Sandbox Code Playgroud)

更新

这个问题似乎是支持库中的一个错误,尽管它被报告为已修复,但很明显问题仍然存在,所以希望我们将来能看到一个适当的解决方案:

https://issuetracker.google.com/issues/66996774