RecyclerView滚动到smoothScrollToPosition(0)后结束

时间:2015-12-02 12:48:50

标签: android android-recyclerview

RecyclerView LinearLayoutManagerVertical,未倒置)。当我将项目插入或移动到0位置时,会调用此方法:

private void scrollToStart() {
        int firstVisiblePosition = ((LinearLayoutManager) recentList.getLayoutManager()).findFirstCompletelyVisibleItemPosition();
        boolean notScrolling = recentList.getScrollState() == RecyclerView.SCROLL_STATE_IDLE;
        if (firstVisiblePosition < 2 && notScrolling) {
            recentList.scrollToPosition(0);
        }
}

但有时它会平滑滚动到列表的末尾。

(我在Instagram等应用程序中看到过这样的行为。看起来列表滚动到顶部然后开始向相反的方向移动。)

如果我用简单的smoothScrollToPosition替换scrollToPosition,它的行为就应该如此。

如何阻止此滚动?

1 个答案:

答案 0 :(得分:0)

在我的情况下,事实项目是可回收的是它的原因。尝试将this.setIsRecyclable(false);放在ViewHolder