Я не могу найти PageChangeListener в ViewPager2.?

ViewPager2 PageChangeListener не работает как обычный ViewPager.?


person unaisulhadi    schedule 22.01.2020    source источник
comment
ViewPager2 предоставляет OnPageChangeCallback.   -  person Vir Rajpurohit    schedule 22.01.2020
comment
Это работает Спасибо   -  person unaisulhadi    schedule 22.01.2020


Ответы (2)


Ниже приведен пример кода для OnPageChangeListener в ViewPager2.

class ViewPager2PageChangeCallback(private val listener: (Int) -> Unit) : ViewPager2.OnPageChangeCallback() {
    override fun onPageSelected(position: Int) {
            super.onPageSelected(position)
            when (position) {
               //YOUR CODE
            }
        }
    }
person Vir Rajpurohit    schedule 22.01.2020
comment
как использовать этот код? - person SoufianeKre; 08.02.2021

Для этого есть метод registerOnPageChangeCallback:

pager.registerOnPageChangeCallback(object: ViewPager2.OnPageChangeCallback() {
            override fun onPageScrolled(
                position: Int,
                positionOffset: Float,
                positionOffsetPixels: Int
            ) {
                super.onPageScrolled(position, positionOffset, positionOffsetPixels)
            }

            override fun onPageSelected(position: Int) {
                super.onPageSelected(position)
            }

            override fun onPageScrollStateChanged(state: Int) {
                super.onPageScrollStateChanged(state)
            }
        })
person Pavlo Zoria    schedule 05.03.2021