打开 ViewPager2 到特定位置而不滚动



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

只有问题在于回收器视图项目单击视图页面 2 打开的位置时的滚动。

每当选择任何项目时(第 10 个(。查看页首先打开,然后滚动到(第 10 个(位置。我想直接打开 viewpager2 的第 10 个位置而不滚动。任何帮助将不胜感激。

我尝试将当前项目设置为

viewPagerReview.currentItem = recyclerviewItemSelectedPosition

但是,如果当前项目是回收器视图的最后一个位置,则ViewPager也会滚动到最后一个位置。

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

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

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

因此,在您的情况下,请选择:

viewPagerReview.setCurrentItem(recyclerviewItemSelectedPosition, false)

此问题的正确解决方案 遵循此方法 setCurrentItem(item :Int, smoothScroll : Boolean(viewPager.setCurrentItem( 2, false(

最新更新