我有一个RecyclerView
共有30个项目,屏幕上可以看到10个项目。我想使用setScrollPosition()
滚动RecyclerView
但是当我传递一个值时,
例如:setScrollPosition(5)
,RecyclerView
没有滚动5个项目。但是当我传递10或更高值时,滚动会启动。
延迟的原因是什么?
这是因为RecyclerView
偏移位于lastVisiblePosition
吗?
如何解决这个问题?
答案 0 :(得分:1)
假设您RecyclerView
中有30个项目,如果您想要滚动到15th
位置,只需使用scrollToPosition()
功能滚动到该特定位置。
如果您想要滚动5个位置并使用LinearLayoutManager
,那么您可以这样做:
LinearLayoutManager llm = (LinearLayoutManager)mRecyclerView.getLayoutManager();
int lastPos = llm.findLastVisibleItemPosition();
mRecyclerView.scrollToPosition(lastPos + 5);