That's what's happening if I am zooming out a lot and then letting go one finger. Samsung Galaxy S5, PhotoView 1.2.4
11-12 11:05:14.998 18746-18746/com.asdf.app E/AndroidRuntime: FATAL EXCEPTION: main 11-12 11:05:14.998 18746-18746/com.asdf.app E/AndroidRuntime: Process: com.asdf.app, PID: 18746 11-12 11:05:14.998 18746-18746/com.asdf.app E/AndroidRuntime: java.lang.IllegalArgumentException: pointerIndex out of range 11-12 11:05:14.998 18746-18746/com.asdf.app E/AndroidRuntime: at android.view.MotionEvent.nativeGetAxisValue(Native Method) 11-12 11:05:14.998 18746-18746/com.asdf.app E/AndroidRuntime: at android.view.MotionEvent.getX(MotionEvent.java:2106) 11-12 11:05:14.998 18746-18746/com.asdf.app E/AndroidRuntime: at android.support.v4.view.MotionEventCompatEclair.getX(MotionEventCompatEclair.java:32) 11-12 11:05:14.998 18746-18746/com.asdf.app E/AndroidRuntime: at android.support.v4.view.MotionEventCompat$EclairMotionEventVersionImpl.getX(MotionEventCompat.java:110) 11-12 11:05:14.998 18746-18746/com.asdf.app E/AndroidRuntime: at android.support.v4.view.MotionEventCompat.getX(MotionEventCompat.java:462) 11-12 11:05:14.998 18746-18746/com.asdf.app E/AndroidRuntime: at android.support.v4.view.ViewPager.onInterceptTouchEvent(ViewPager.java:1920) 11-12 11:05:14.998 18746-18746/com.asdf.app E/AndroidRuntime: at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2284) 11-12 11:05:14.998 18746-18746/com.asdf.app E/AndroidRuntime: at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2683) 11-12 11:05:14.998 18746-18746/com.asdf.app E/AndroidRuntime: at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2399) 11-12 11:05:14.998 18746-18746/com.asdf.app E/AndroidRuntime: at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2683) 11-12 11:05:14.998 18746-18746/com.asdf.app E/AndroidRuntime: at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2399) 11-12 11:05:14.998 18746-18746/com.asdf.app E/AndroidRuntime: at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2683) 11-12 11:05:14.998 18746-18746/com.asdf.app E/AndroidRuntime: at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2399) 11-12 11:05:14.998 18746-18746/com.asdf.app E/AndroidRuntime: at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2683) 11-12 11:05:14.998 18746-18746/com.asdf.app E/AndroidRuntime: at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2399) 11-12 11:05:14.998 18746-18746/com.asdf.app E/AndroidRuntime: at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2683) 11-12 11:05:14.998 18746-18746/com.asdf.app E/AndroidRuntime: at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2399) 11-12 11:05:14.998 18746-18746/com.asdf.app E/AndroidRuntime: at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2683) 11-12 11:05:14.998 18746-18746/com.asdf.app E/AndroidRuntime: at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2399) 11-12 11:05:14.998 18746-18746/com.asdf.app E/AndroidRuntime: at com.android.internal.policy.impl.PhoneWindow$DecorView.superDispatchTouchEvent(PhoneWindow.java:2552) 11-12 11:05:14.998 18746-18746/com.asdf.app E/AndroidRuntime: at com.android.internal.policy.impl.PhoneWindow.superDispatchTouchEvent(PhoneWindow.java:1767) 11-12 11:05:14.998 18746-18746/com.asdf.app E/AndroidRuntime: at android.app.Activity.dispatchTouchEvent(Activity.java:2840) 11-12 11:05:14.998 18746-18746/com.asdf.app E/AndroidRuntime: at android.support.v7.internal.view.WindowCallbackWrapper.dispatchTouchEvent(WindowCallbackWrapper.java:59) 11-12 11:05:14.998 18746-18746/com.asdf.app E/AndroidRuntime: at com.android.internal.policy.impl.PhoneWindow$DecorView.dispatchTouchEvent(PhoneWindow.java:2513) 11-12 11:05:14.998 18746-18746/com.asdf.app E/AndroidRuntime: at android.view.View.dispatchPointerEvent(View.java:9124) 11-12 11:05:14.998 18746-18746/com.asdf.app E/AndroidRuntime: at android.view.ViewRootImpl$ViewPostImeInputStage.processPointerEvent(ViewRootImpl.java:4632) 11-12 11:05:14.998 18746-18746/com.asdf.app E/AndroidRuntime: at android.view.ViewRootImpl$ViewPostImeInputStage.onProcess(ViewRootImpl.java:4470) 11-12 11:05:14.998 18746-18746/com.asdf.app E/AndroidRuntime: at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:4020) 11-12 11:05:14.998 18746-18746/com.asdf.app E/AndroidRuntime: at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:4073) 11-12 11:05:14.998 18746-18746/com.asdf.app E/AndroidRuntime: at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:4039) 11-12 11:05:14.998 18746-18746/com.asdf.app E/AndroidRuntime: at android.view.ViewRootImpl$AsyncInputStage.forward(ViewRootImpl.java:4153) 11-12 11:05:14.998 18746-18746/com.asdf.app E/AndroidRuntime: at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:4047) 11-12 11:05:14.998 18746-18746/com.asdf.app E/AndroidRuntime: at android.view.ViewRootImpl$AsyncInputStage.apply(ViewRootImpl.java:4210) 11-12 11:05:14.998 18746-18746/com.asdf.app E/AndroidRuntime: at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:4020) 11-12 11:05:14.998 18746-18746/com.asdf.app E/AndroidRuntime: at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:4073) 11-12 11:05:14.998 18746-18746/com.asdf.app E/AndroidRuntime: at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:4039) 11-12 11:05:14.998 18746-18746/com.asdf.app E/AndroidRuntime: at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:4047) 11-12 11:05:14.998 18746-18746/com.asdf.app E/AndroidRuntime: at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:4020) 11-12 11:05:14.998 18746-18746/com.asdf.app E/AndroidRuntime: at android.view.ViewRootImpl.deliverInputEvent(ViewRootImpl.java:6480) 11-12 11:05:14.998 18746-18746/com.asdf.app E/AndroidRuntime: at android.view.ViewRootImpl.doProcessInputEvents(ViewRootImpl.java:6379) 11-12 11:05:14.998 18746-18746/com.asdf.app E/AndroidRuntime: at android.view.ViewRootImpl.enqueueInputEvent(ViewRootImpl.java:6350) 11-12 11:05:14.998 18746-18746/com.asdf.app E/AndroidRuntime: at android.view.ViewRootImpl$WindowInputEventReceiver.onInputEvent(ViewRootImpl.java:6570) 11-12 11:05:14.998 18746-18746/com.asdf.app E/AndroidRuntime: at android.view.InputEventReceiver.dispatchInputEvent(InputEventReceiver.java:185) 11-12 11:05:14.998 18746-18746/com.asdf.app E/AndroidRuntime: at android.view.InputEventReceiver.nativeConsumeBatchedInputEvents(Native Method) 11-12 11:05:14.998 18746-18746/com.asdf.app E/AndroidRuntime: at android.view.InputEventReceiver.consumeBatchedInputEvents(InputEventReceiver.java:176) 11-12 11:05:14.998 18746-18746/com.asdf.app E/AndroidRuntime: at android.view.ViewRootImpl.doConsumeBatchedInput(ViewRootImpl.java:6541) 11-12 11:05:14.998 18746-18746/com.asdf.app E/AndroidRuntime: at android.view.ViewRootImpl$ConsumeBatchedInputRunnable.run(ViewRootImpl.java:6593) 11-12 11:05:14.998 18746-18746/com.asdf.app E/AndroidRuntime: at android.view.Choreographer$CallbackRecord.run(Choreographer.java:777) 11-12 11:05:14.998 18746-18746/com.asdf.app E/AndroidRuntime: at android.view.Choreographer.doCallbacks(Choreographer.java:590) 11-12 11:05:14.998 18746-18746/com.asdf.app E/AndroidRuntime: at android.view.Choreographer.doFrame(Choreographer.java:558) 11-12 11:05:14.998 18746-18746/com.asdf.app E/AndroidRuntime: at android.view.Choreographer$FrameDisplayEven
me too
the issue is done ,https://github.com/chrisbanes/PhotoView/issues/31
same issue again... +1 can u pleas fix it u? are there any patch release?
Im using compile 'com.github.chrisbanes.photoview:library:1.2.4'
this issue is on with Nexus 6P Android 6.0. I think it has nothing to do with device specific issue.
Are you overriding both onTouchEvent()
&& onInterceptTouchEvent()
in your custom viewpager like so:
@Override
public boolean onTouchEvent(MotionEvent ev) {
try {
return super.onTouchEvent(ev);
} catch (IllegalArgumentException ex) {
ex.printStackTrace();
}
return false;
}
@Override
public boolean onInterceptTouchEvent(MotionEvent ev) {
try {
return super.onInterceptTouchEvent(ev);
} catch (IllegalArgumentException ex) {
ex.printStackTrace();
}
return false;
}
Yep, see the README
Most helpful comment
Are you overriding both
onTouchEvent()
&&onInterceptTouchEvent()
in your custom viewpager like so: