【发布时间】:2020-05-06 16:40:40
【问题描述】:
我用一些视频实现了一个 recyclerview(比如 10 个)。单击任何项目都会打开一个viewpager2 which is on some other activity,其中包含所有项目and,其中显示了被单击的项目(来自recyclerview)。之后,用户只能从那里滚动到其他项目。一切正常。
只有当recyclerview项目点击viewpager2在哪里打开时滚动出现问题。
无论何时选择任何项目(第 10 位)。 viewpager 首先打开,然后滚动到(第 10 个)位置。我想直接打开viewpager2的第10个位置而不滚动。任何帮助,将不胜感激。
我已经尝试将当前项目设置为
viewPagerReview.currentItem = recyclerviewItemSelectedPosition
但如果当前项目是 recyclerview 的最后一个位置,那么 viewpager 也会滚动到最后一个位置。
【问题讨论】:
-
你能分享更多你的代码吗?问题似乎很清楚。但是,如果可以的话,它会更有帮助。
RecyclerView中有一个方法可以在没有平滑滚动的情况下滚动。你不会看到它滚动,它会直接把你带到你想要的位置。 -
你试过
recyclerView.layoutManager.scrollToPosition吗? -
@Nizar 好的,我认为我的问题在这里有点令人困惑。问题在于 viewpager2 滚动。我没有在这里滚动回收站视图。需要打开在回收站列表中选择位置的其他活动上的 viewpager。感谢您快速回复。我已经编辑了我的问题。
-
其实你很清楚,我没有。根据 AndroidWiki,
viewpager2在您设置currentItem时有一个默认的smoothScroll。现在我的问题是,您是否考虑传递selectedPosition并使用RecyclerView滚动到它? -
不,不是回收站视图。只需直接使用位置和列表数据到 viewpager2 即可。假设,如果回收站视图有 15 个项目并且我单击第 10 个,则 viewpager 在另一个活动中打开并由于
viewPagerReview.currentItem = recyclerviewItemSelectedPosition代码滚动到第 10 个位置。
标签: android android-recyclerview android-viewpager2