Изменить фрагмент в viewpager 2 при запуске активности, а не при изменении ориентации

Я создаю приложение, в котором использую viewpager2. когда действие запускается, страница просмотра устанавливается на основе некоторых данных из предыдущего действия. что я сделал с помощью

viewpager2.setcurrentItem(index , true)

в методе oncreate.

Проблема

Предположим, пользователь открывает viewpagerActivity. отображается veiwpager с индексом 2. Теперь пользователь проводит пальцем по индексу 3. Теперь пользователь выполняет изменение ориентации. Пользователь снова попадает на индекс 2.

Может кто-нибудь, пожалуйста, помогите мне исправить это?


person Jack    schedule 09.02.2021    source источник
comment
поэтому сохраните индекс где-нибудь и примените его?   -  person a_local_nobody    schedule 09.02.2021


Ответы (1)


Если вы делаете это в onCreate, используйте пакет, чтобы проверить, является ли это null, если yes, это новый запуск, иначе ориентация изменится.

override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    if(savedInstanceState == null){
        viewpager2.setcurrentItem(index , true)
    }
}
person Rajan Kali    schedule 09.02.2021