Android RecyclerView setScrollPosition()延迟问题

时间:2015-10-03 19:16:04

标签: android android-layout android-activity android-recyclerview

我有一个RecyclerView共有30个项目,屏幕上可以看到10个项目。我想使用setScrollPosition()滚动RecyclerView

但是当我传递一个值时, 例如:setScrollPosition(5)RecyclerView没有滚动5个项目。但是当我传递10或更高值时,滚动会启动。

延迟的原因是什么? 这是因为RecyclerView偏移位于lastVisiblePosition吗? 如何解决这个问题?

1 个答案:

答案 0 :(得分:1)

假设您RecyclerView中有30个项目,如果您想要滚动到15th位置,只需使用scrollToPosition()功能滚动到该特定位置。

如果您想要滚动5个位置并使用LinearLayoutManager,那么您可以这样做:

LinearLayoutManager llm = (LinearLayoutManager)mRecyclerView.getLayoutManager();
int lastPos = llm.findLastVisibleItemPosition();
mRecyclerView.scrollToPosition(lastPos + 5);