Android RecyclerView Inertia

时间:2017-08-15 12:15:39

标签: android android-recyclerview

我已将RecyclerView版本更新为26.0.1并且我使用RecyclerView实现了分页,因此当我到达列表底部时,我看到ProgressBar并加载更多数据以显示,然后通知插入的索引

因此,使用新的26.0.1 RecyclerView版本,滚动可以节省惯性。因此,当我快速向下滑动并到达底部时,我看到ProgressBar,但在插入新数据后,RecyclerView继续向下滚动

我知道这是惯性,因为如果我慢慢地滑动,它会在插入新数据后向下滚动

问题:如何禁用此惯性滑动?

P.S。我的RecyclerView位于NestedScrollView

2 个答案:

答案 0 :(得分:1)

很抱歉,您的回复很晚,但是我也遇到了同样的问题。 我有一个NestedScrollView,其中包含RecyclerView等多个项目。 我注意到当显示LOADING状态时,所有内容滚动时都没有任何惯性,但是一旦使recyclerView可见,就会出现惯性。该代码对我有帮助:

recyclerView.isNestedScrollingEnabled = false

它有助于androidX RecylerView小部件。

答案 1 :(得分:0)

进入相同的问题,在API 26上进行无限滚动的RecyclerView解决了这个问题。只需将此代码添加到我已用于加载后续数据页的覆盖onScrolled事件中。我在super.onScrolled()调用之后和无限页面加载触发器之前放置它。

if (!recyclerView.canScrollVertically(1)) {
    recyclerView.stopScroll();
}

这将检测RecyclerView是否无法再向下滚动(1表示向下滚动,-1表示向上滚动),并使用内置方法停止滚动。