ViewPager中使用PhotoView时出现pointerIndex out of range异常

时间:2023-01-09 19:52:37
问题描述:
当PhotoView 和 ViewPager 组合时 ,用双指进行放大时 是没有问题的,但是用双指进行缩小的时候,程序就会崩掉,并且抛出java.lang.IllegalArgumentException: pointerIndex out of range

解决方法:

只需要自定义一个类去继承ViewPager ,然后重写Viewpager的 onInterceptTouchEvent()的方法
代码:
    package com.ingwill.widget;

    import android.content.Context;
import android.support.v4.view.ViewPager;
import android.util.AttributeSet;
import android.view.MotionEvent; /**
* Created by netcorner on 2016/11/25.
*/
public class PhotoViewPager extends ViewPager { public PhotoViewPager(Context context) {
super(context);
} public PhotoViewPager(Context context, AttributeSet attrs) {
super(context, attrs);
} @Override
public boolean onInterceptTouchEvent(MotionEvent ev) {
try {
return super.onInterceptTouchEvent(ev);
} catch (IllegalArgumentException e) {
e.printStackTrace();
} catch (ArrayIndexOutOfBoundsException e) {
e.printStackTrace();
}
return false;
} }