ViewPager2.registerOnPageChangeCallback()
MichalKubiako opened this issue · comments
Michał commented
I connected ScrollingPagerIndicator with ViewPager2:
adapter = Adapter(it)
adapter.list = list
viewPager2.adapter = adapter
indicator.attachToPager(viewPager)
and then I've added:
viewPager2.registerOnPageChangeCallback(object : ViewPager2.OnPageChangeCallback(){
override fun onPageSelected(position: Int) {
updatePosition(position)
super.onPageSelected(position)
}
})
With running the app I have below error:
java.lang.IllegalStateException: Adding and removing callbacks during dispatch to callbacks is not supported
at androidx.viewpager2.widget.CompositeOnPageChangeCallback.throwCallbackListModifiedWhileInUse(CompositeOnPageChangeCallback.java:95)
at androidx.viewpager2.widget.CompositeOnPageChangeCallback.onPageSelected(CompositeOnPageChangeCallback.java:76)
at androidx.viewpager2.widget.CompositeOnPageChangeCallback.onPageSelected(CompositeOnPageChangeCallback.java:73)
at androidx.viewpager2.widget.ScrollEventAdapter.dispatchSelected(ScrollEventAdapter.java:432)
at androidx.viewpager2.widget.ScrollEventAdapter.onScrolled(ScrollEventAdapter.java:197)
at androidx.recyclerview.widget.RecyclerView.dispatchOnScrolled(RecyclerView.java:5173)
at androidx.recyclerview.widget.RecyclerView.dispatchLayoutStep3(RecyclerView.java:4231)
at androidx.recyclerview.widget.RecyclerView.dispatchLayout(RecyclerView.java:3862)
at androidx.recyclerview.widget.RecyclerView.onLayout(RecyclerView.java:4404)
at android.view.View.layout(View.java:22844)
Any thoughts on how to solve it? (I still want to use VP2)