ViewPager2 - 如何使用 registerOnPageChangeCallback 检查视图寻呼机项目位置

ViewPager2 - How to use registerOnPageChangeCallback to check view pager item position

如何使用 ViewPager2 的 registerOnPageChangeCallback 功能检查当前可见的 ViewPAger2 片段的位置?我知道这将由 if/when 语句组成,但不知道实现它的正确方法。

mViewPager.registerOnPageChangeCallback(object : ViewPager2.OnPageChangeCallback() {
            override fun onPageSelected(position: Int) {
                if (mViewPager.currentPage) == 0 {
                // do something
                }
                else if (mViewPager.currentPage) == 1 {
                // do something
                }
                else {
                // do something
                }
                super.onPageSelected(position)
            }
        })

使用传递的position知道你在哪里:

 mViewPager.registerOnPageChangeCallback(object : ViewPager2.OnPageChangeCallback() {
            override fun onPageSelected(position: Int) {
                if (position == 0) {
                // you are on the first page
                }
                else if (position == 1) {
                // you are on the second page
                }
                else if (position == 2){
                // you are on the third page
                }
                super.onPageSelected(position)
            }
        })

不要忘记在 onDestroy 中注销您的回调以避免可能的内存泄漏。

override fun onDestroy() {
    super.onDestroy()
    mViewPager.unregisterOnPageChangeCallback(this)
}