转载请注明: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! // ┃ ┗━━━┓ // ┃ ┣┓ // ┃ ┏┛ // ┗┓┓┏━┳┓┏┛ // ┃┫┫ ┃┫┫ // ┗┻┛ ┗┻┛
每日精进