From 5951a42ab995bcef7d81c6ffba1f61b40171f70c Mon Sep 17 00:00:00 2001 From: sonique6784 Date: Fri, 18 Dec 2015 10:43:35 +1100 Subject: [PATCH] NPE when endFakeDrag Hi, it is more or less the same issue as my previous comment. See the Exception I get below. Thank you very much for you work. Fatal Exception: java.lang.NullPointerException at android.support.v4.view.ViewPager.endFakeDrag(ViewPager.java:2390) at com.viewpagerindicator.CirclePageIndicator.onTouchEvent(CirclePageIndicator.java:340) at android.view.View.dispatchTouchEvent(View.java:7817) at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2411) at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2174) at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2411) at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2174) at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2411) at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2174) at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2441) at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2174) at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2441) at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2174) at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2441) at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2174) at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2441) at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2174) at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2441) at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2174) at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2441) at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2174) at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2441) at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2174) at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2441) at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2174) at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2441) at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2174) at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2441) at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2174) at com.android.internal.policy.impl.PhoneWindow$DecorView.superDispatchTouchEvent(PhoneWindow.java:2326) at com.android.internal.policy.impl.PhoneWindow.superDispatchTouchEvent(PhoneWindow.java:1612) at android.app.Activity.dispatchTouchEvent(Activity.java:2494) at com.android.internal.policy.impl.PhoneWindow$DecorView.dispatchTouchEvent(PhoneWindow.java:2274) at android.view.View.dispatchPointerEvent(View.java:8025) at android.view.ViewRootImpl$ViewPostImeInputStage.processPointerEvent(ViewRootImpl.java:4668) at android.view.ViewRootImpl$ViewPostImeInputStage.onProcess(ViewRootImpl.java:4556) at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:4150) at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:4207) at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:4176) at android.view.ViewRootImpl$AsyncInputStage.forward(ViewRootImpl.java:4261) at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:4184) at android.view.ViewRootImpl$AsyncInputStage.apply(ViewRootImpl.java:4318) at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:4150) at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:4207) at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:4176) at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:4184) at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:4150) at android.view.ViewRootImpl.deliverInputEvent(ViewRootImpl.java:6302) at android.view.ViewRootImpl.doProcessInputEvents(ViewRootImpl.java:6240) at android.view.ViewRootImpl.enqueueInputEvent(ViewRootImpl.java:6211) at android.view.ViewRootImpl$WindowInputEventReceiver.onInputEvent(ViewRootImpl.java:6382) at android.view.InputEventReceiver.dispatchInputEvent(InputEventReceiver.java:188) at android.view.InputEventReceiver.nativeConsumeBatchedInputEvents(InputEventReceiver.java) at android.view.InputEventReceiver.consumeBatchedInputEvents(InputEventReceiver.java:177) at android.view.ViewRootImpl.doConsumeBatchedInput(ViewRootImpl.java:6355) at android.view.ViewRootImpl$ConsumeBatchedInputRunnable.run(ViewRootImpl.java:6401) at android.view.Choreographer$CallbackRecord.run(Choreographer.java:791) at android.view.Choreographer.doCallbacks(Choreographer.java:591) at android.view.Choreographer.doFrame(Choreographer.java:559) at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:777) at android.os.Handler.handleCallback(Handler.java:730) at android.os.Handler.dispatchMessage(Handler.java:92) at android.os.Looper.loop(Looper.java:137) at android.app.ActivityThread.main(ActivityThread.java:5419) at java.lang.reflect.Method.invokeNative(Method.java) at java.lang.reflect.Method.invoke(Method.java:525) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1209) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1025) at dalvik.system.NativeStart.main(NativeStart.java) --- .../java/com/viewpagerindicator/CirclePageIndicator.java | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/viewpagerindicator/CirclePageIndicator.java b/src/main/java/com/viewpagerindicator/CirclePageIndicator.java index f441e89fd..1afcf7dbb 100644 --- a/src/main/java/com/viewpagerindicator/CirclePageIndicator.java +++ b/src/main/java/com/viewpagerindicator/CirclePageIndicator.java @@ -337,7 +337,13 @@ public boolean onTouchEvent(android.view.MotionEvent ev) { mIsDragging = false; mActivePointerId = INVALID_POINTER; - if (mViewPager.isFakeDragging()) mViewPager.endFakeDrag(); + if (mViewPager.isFakeDragging()){ + try { + mViewPager.endFakeDrag(); + } catch(Exception e) { + } + + } break; case MotionEventCompat.ACTION_POINTER_DOWN: {