我有一个带有LinearLayoutManager
(Vertical
,非反向)的RecyclerView
。当我插入或移动项目到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。它看起来像列表向上滚动,然后开始向相反方向移动。)
如果我使用简单的scrollToPosition
替换smoothScrollToPosition
,它就会像应该的那样工作。
如何防止这种滚动?