tommybuonomo / dotsindicator

Three material Dots Indicators for view pagers in Android !
Apache License 2.0
3.46k stars 354 forks source link

Crash when swiping pages after removing items. #151

Open sidhantailawadi opened 2 years ago

sidhantailawadi commented 2 years ago

Hi!

Facing the below issue. Can reproduce it everytime

Steps to reproduce: Increase no of viewpager pages to 3 Reduce no. of pages to 2 Swipe from 2nd page to first.

Logs: java.lang.IndexOutOfBoundsException: Index: 2, Size: 2 at java.util.ArrayList.get(ArrayList.java:437) at com.tbuonomo.viewpagerdotsindicator.DotsIndicator$buildOnPageChangedListener$1.resetPosition$viewpagerdotsindicator_release(DotsIndicator.kt:149) at com.tbuonomo.viewpagerdotsindicator.OnPageChangeListenerHelper.onPageScrolled(OnPageChangeListenerHelper.kt:32) at com.tbuonomo.viewpagerdotsindicator.BaseDotsIndicator$setViewPager2$2$addOnPageChangeListener$1.onPageScrolled(BaseDotsIndicator.kt:280) at androidx.viewpager2.widget.CompositeOnPageChangeCallback.onPageScrolled(CompositeOnPageChangeCallback.java:59) at androidx.viewpager2.widget.CompositeOnPageChangeCallback.onPageScrolled(CompositeOnPageChangeCallback.java:59) at androidx.viewpager2.widget.ScrollEventAdapter.dispatchScrolled(ScrollEventAdapter.java:438) at androidx.viewpager2.widget.ScrollEventAdapter.onScrolled(ScrollEventAdapter.java:201) at androidx.recyclerview.widget.RecyclerView.dispatchOnScrolled(RecyclerView.java:5347) at androidx.recyclerview.widget.RecyclerView.scrollByInternal(RecyclerView.java:2102) at androidx.recyclerview.widget.RecyclerView.onTouchEvent(RecyclerView.java:3531) at androidx.viewpager2.widget.ViewPager2$RecyclerViewImpl.onTouchEvent(ViewPager2.java:991) at android.view.View.dispatchTouchEvent(View.java:14599) at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3114) at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2787) at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3120) at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2801) at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3120) at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2801) at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3120) at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2801) at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3120) at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2801) at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3120) at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2801) at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3120) at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2801) at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3120) at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2801) at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3120) at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2801) at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3120) at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2801) at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3120) at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2801) at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3120) at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2801) at com.android.internal.policy.DecorView.superDispatchTouchEvent(DecorView.java:502) at com.android.internal.policy.PhoneWindow.superDispatchTouchEvent(PhoneWindow.java:1890) at android.app.Activity.dispatchTouchEvent(Activity.java:4199) at androidx.appcompat.view.WindowCallbackWrapper.dispatchTouchEvent(WindowCallbackWrapper.java:69) at com.android.internal.policy.DecorView.dispatchTouchEvent(DecorView.java:460) at android.view.View.dispatchPointerEvent(View.java:14858) at android.view.ViewRootImpl$ViewPostImeInputStage.processPointerEvent(ViewRootImpl.java:6446) at android.view.ViewRootImpl$ViewPostImeInputStage.onProcess(ViewRootImpl.java:6247) at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:5725) at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:5782)

abhilash002 commented 2 years ago

@sidhantailawadi Same issue happening with me too! Any solution?

Prayuga commented 1 year ago

I have the same issue. @tommybuonomo may you look into it?

HetalPatel01 commented 11 months ago

I am also getting the same issue can you please help us to resolve this issue? @tommybuonomo

mwshubham commented 8 months ago

+1