当前位置: 首页 > 知识库问答 >
问题:

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

谭毅然
2023-03-14

我已经用一些视频(比如10个)实现了一个回收器视图。单击任何项目都会打开一个viewpage er2,它位于其他一些活动上,其中包含所有项目显示单击的一个(来自回收器视图)。之后,用户只能从那里滚动到其他项目。一切正常。

唯一的问题是当recyclerview项单击viewpager2打开的位置时滚动。

无论何时选择任何项目(第10个)。viewpager首先打开,然后滚动到(第10)个位置。我想不滚动直接打开viewpager2的第10个位置。任何帮助都将不胜感激。

我已经尝试将当前项目设置为

viewPagerReview.currentItem = recyclerviewItemSelectedPosition

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

共有2个答案

康元凯
2023-03-14

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

双元魁
2023-03-14

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

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

因此,您需要使用另一种方法,即setCurrentItem(item:Int,smoothScroll:Boolean)来指定是否要进行平滑滚动。

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

viewPagerReview.setCurrentItem(recyclerviewItemSelectedPosition, false)
 类似资料:
  • 与传统的提示用户进入设置页面并启用定位服务然后再次返回的方法不同,我发现在一些最新的应用程序中有一种更简单的方法可以做到这一点。 参考下面的屏幕截图,它会向用户提示一个对话框,只需单击一下即可启用定位服务,并且可以在这些应用程序中运行。 我如何才能实现同样的目标?

  • 滚动条显示位置都是在最右侧或最底部,怎样控制滚动条显示在某一个div里面或为一个位置? 不是说滚动位置,滚动条的显示位置

  • 我有,它有分页,当我滚动一些时候,它正在崩溃。当我慢慢滚动时,它没有崩溃。我已经提供了适配器和活动代码。请让我知道我在这里做错了什么。我已经搜索了相同的问题,但无法在此处捕获错误。 显示某些错误(日志):

  • 问题内容: 我有一个带有一些视图的布局,其中一个是EditText。布局很容易放在一页上,但当软键盘退出时,布局不会滚动。这是我的布局的回顾: 在清单中,我声明了该属性: 有谁知道为什么它不起作用以及如何确保它起作用? 提前致谢! 问题答案: 好的,显然不应该将ScrollView 设置为。我将其设置为并将其设置为页面底部的按钮。 不要问我为什么,但这可以解决问题。

  • 我在Chrome中使用Selenium Python绑定实现web浏览器自动化。作为自动化脚本的一部分,我点击一个链接,网站将在一个新的选项卡中打开页面。但是,我的python脚本中的WebDriver对象仍然指向第一个选项卡。 我已经尝试了这个答案提供的所有选项,但没有一个是成功的。 我的问题是,我恐怕我不能保证新标签将在索引1,我也不认为我可以保证新标签在最后一个索引。我确实尝试过使用这样的键

  • 问题内容: 我有一个2的幂的整数输入(1、2、4、8等)。我希望函数不使用log()返回位位置。例如,对于上述输入,对于C#,将分别返回{0,1,2,3}。另外,如果可以在SQL中完成。 谢谢! 问题答案: 我发现执行此操作最快的代码来自Bit Twiddling Hacks网站。具体而言,基于DeBruijn序列的查找。参见http://graphics.stanford.edu/~seande