最近遇到的viewpager 里面的关于多点触控时候报的异常崩溃错误
报错信息简洁显示如下:
java.lang.IllegalArgumentException: pointerIndex out of range
at android.view.MotionEvent.nativeGetAxisValue(Native Method)
at android.view.MotionEvent.getX(MotionEvent.java:1981)
............
等等这些
不知道怎么情况 以为是自己引用的控件的本身的bug,通过度娘知道,可能是系统本身的错误
所幸找到了解决方法如下:
自定义控件,重写控件的方法,捕获异常,完美解决
public class MyVerticalViewPager extends VerticalViewPager {
public MyVerticalViewPager(Context context) {
super(context);
}
public MyVerticalViewPager(Context context, AttributeSet attrs) {
super(context, attrs);
}
@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;
}
}
以上方法完美解决,感谢分享解决方法的大神.
参考链接:https://blog.csdn.net/nnmmbb/article/details/28419779
希望能对大家有所帮助,欢迎大家一起讨论交流.