我RecyclerView
LinearLayoutManager
(Vertical
,未倒置)。当我将项目插入或移动到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
,它的行为就应该如此。
如何阻止此滚动?
答案 0 :(得分:0)
在我的情况下,事实项目是可回收的是它的原因。尝试将this.setIsRecyclable(false);
放在ViewHolder