Привет всем, я новичок в android с kotlin. У меня проблема в viewpager2 , которую я не могу решить. У меня есть один изменяемый список , в котором присутствуют данные о 30 элементах. Когда приложение открывается, я использовал по умолчанию 15 данных индекса по умолчанию как индекс viewpager2 как текущий элемент. Если я перехожу на страницу с индексом 0, я сбрасываю данные Mutablelist и добавляю 10 или 20 данных слева и значение индекса 0, установленное в середине, что означает, что я перемещаю данные, в которых я преуспеваю. Но основная проблема заключается в том, чтобы отключить плавную прокрутку от 0 до 10-20, когда я сбрасываю список, также у меня есть переменная observable в качестве моего текущего индекса, который я меняю текущий элемент viewpager2 .
private var b = false
mViewPager.registerOnPageChangeCallback(object : ViewPager2.OnPageChangeCallback() {
override fun onPageScrolled(int position, float arg1, int arg2) {
if(b){
if(position > 0 && position < 15){
mViewPager.setCurrentItem(currenIndex,false)
b = false
}
}
}
}
In Activity , когда я сбрасываю изменяемый список или добавляю в него какое-то значение, я изменил логическое значение как true
b = true
также в мой наблюдаемый код
currenIndex.observer(this, Observer {
mViewPager.setCurrentItem(it, true)
})
Он всегда прыгает при сбросе списка на 0,1,2,3,4,5,6,7,8,9,10 .. и Я хочу отключить всю анимацию между ними и хотел только отображать страницу напрямую 15 страница
Также я попытался удалить
mViewPager.setCurrentItem(it, true)
из моей наблюдаемой переменной, это работает но у них есть проблема между 0 и 1, анимация останавливается между ними при первом достижении индекса 0 без сброса списка.
Извините за мой Engli sh. Заранее спасибо