Откройте ViewPager2 в определенной позиции без прокрутки - PullRequest
1 голос
/ 20 января 2020

Я реализовал программу просмотра с некоторыми видео (скажем, 10) . При щелчке по любому элементу открывается viewpager2 which is on some other activity со всеми элементами and, и отображается нажатый элемент (из recyclerview). После этого пользователь может перейти оттуда только к другому элементу. Все работает нормально.

Проблема заключается только в прокрутке, когда в элементе программы повторного просмотра щелкните, где открывается viewpager2.

При выборе любого элемента (10-й). Сначала открывается видовой пейджер и сам прокручивается до (10-й) позиции. Я хочу открыть 10-ю позицию viewpager2 напрямую, без прокрутки. Любая помощь будет оценена.

Я попытался установить текущий элемент как

viewPagerReview.currentItem = recyclerviewItemSelectedPosition

, но если текущий элемент является последней позицией просмотра реселлера, тогда просмотрщик также прокручивает до последней позиции.

1 Ответ

3 голосов
/ 20 января 2020

Хорошо, согласно ViewPager2 на AndroidDocs, это то, что setCurrentItem(item: Int) сделает:

Установите текущую выбранную страницу. Если ViewPager уже прошел первый макет с текущим адаптером, то между текущим элементом и указанным элементом будет плавный анимированный переход.

Следовательно, вы захотите использовать другой метод, который равен setCurrentItem(item: Int, smoothScroll: Boolean), чтобы указать, хотите ли вы smoothScroll или нет.

Итак, в вашем случае, go для:

viewPagerReview.setCurrentItem(recyclerviewItemSelectedPosition, false)
...