11

我已经用一些视频(比如 10)实现了一个 recyclerview 。单击任何项​​目会打开一个viewpager2 which is on some other activity包含所有被and单击项目(来自recyclerview)的项目。之后,用户只能从那里滚动到其他项目。一切正常。

只有当 recyclerview 项目单击 viewpager2 打开时的滚动问题。

Whenever any item is selected(10th). viewpager 首先打开,然后滚动到(第 10 个)位置。我想直接打开viewpager2的第10个位置而不滚动。任何帮助,将不胜感激。

我尝试将当前项目设置为

viewPagerReview.currentItem = recyclerviewItemSelectedPosition

但是如果当前项目是 recyclerview 的最后一个位置,那么 viewpager 也会滚动到最后一个位置。

4

1 回答 1

22

好吧,根据AndroidDocs上的 ViewPager2,这就是setCurrentItem(item: Int)

设置当前选择的页面。如果 ViewPager 已经通过其当前适配器的第一个布局,则当前项目和指定项目之间将有一个平滑的动画过渡。

因此,您将要使用另一种方法,即setCurrentItem(item: Int, smoothScroll: Boolean)指定您是否想要smoothScroll

因此,就您而言,请选择:

viewPagerReview.setCurrentItem(recyclerviewItemSelectedPosition, false)
于 2020-01-20T16:41:05.100 回答