«

Android java.lang.IllegalArgumentException: pointerIndex out of range

时间:2024-3-2 18:02     作者:韩俊     分类: Android


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

每日精进




标签: android

热门推荐