繁体   English   中英

在不滚动的情况下打开 ViewPager2 到特定位置

[英]Open ViewPager2 to particular position without scrolling

我已经用一些视频(比如 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 也会滚动到最后一个位置。

好吧,根据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)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM