我有一个布局,其中包含RecyclerView
上方的rv
(称为ViewPager
)和vp
(称为rv
)。滚动vp
时,我使用:
((GridLayoutManager)rvGallery.getLayoutManager()).scrollToPositionWithOffset(pos, 0);
但是,我发现这不是立即的。我正在使用以下代码,并希望获得第一项和最后一项,但是,它显示滚动vp
之前的结果,并在1-2秒后再次使用此结果,从而显示正确的结果:
int first = gridLayoutManager.findFirstVisibleItemPosition();
int last = gridLayoutManager.findLastVisibleItemPosition();
例如:
vp
的项目为{1,50,200}
。当我将vp
从1
滚动到50
时,我希望rv
下面的vp
能够滚动到50
,最初会显示50。但是,它始终会显示1。大约2秒钟后,此方法会在旧手机(Nexus 5)上显示50。这可能会花费很长时间,因此当我快速滚动vp
时,我不会在rv
中获得第一个。