转载请注明:http://blog.csdn.net/aaawqqq
Android java.lang.IllegalArgumentException: pointerIndex out of range
bug:
11-27 00:12:55.029: E/AndroidRuntime(22447): java.lang.IllegalArgumentException: pointerIndex out of range 11-27 00:12:55.029: E/AndroidRuntime(22447): at android.view.MotionEvent.nativeGetAxisValue(Native Method)
原因
绘图的时候 多点触控 放大缩小 导致一场
我在viewpager 里面 通过手势绘制图片 放大缩小 造成了这个bug
我的 viewpager 解决方案:
1 继承 view
2 重写 dispatchTouchEvent
3 抓住异常
public class FixedViewPager extends ViewPager { public FixedViewPager(Context context) { super(context); } public FixedViewPager(Context context, AttributeSet attrs) { super(context, attrs); } @Override public boolean dispatchTouchEvent(MotionEvent ev) { try { return super .dispatchTouchEvent(ev); } catch (IllegalArgumentException ignored) { } catch (ArrayIndexOutOfBoundsException e) { } return false ; } }
网上有其它方法 如:
重写onInterceptTouchEvent 和onTouchEvent方法
try catch 该两个方法,形如下面:
try{ super.onInterceptTouchEvent(MotionEvent ev) } catch(ILLegalArgumentException ex) { } return false; try{ super.onTouchEvent(MotionEvent ev) } catch(ILLegalArgumentException ex) { } return false;
参考: http://nanjingjiangbiao-t.iteye.com/blog/1794478
//┏┓ ┏┓
//┏┛┻━━━┛┻┓
//┃ ┃
//┃ ━ ┃
//┃ ┳┛ ┗┳ ┃
//┃ ┃
//┃ ┻ ┃
//┃ ┃
//┗━┓ ┏━┛
// ┃ ┃ 神兽保佑
// ┃ ┃ 代码无BUG!
// ┃ ┗━━━┓
// ┃ ┣┓
// ┃ ┏┛
// ┗┓┓┏━┳┓┏┛
// ┃┫┫ ┃┫┫
// ┗┻┛ ┗┻┛
每日精进
时间: 2024-10-10 21:16:52