我已经用一些视频(比如10个(实现了回收器视图。单击任何项目都会打开一个包含所有项目的viewpager2 which is on some other activity
and
显示单击的项目(来自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(