Android java.lang.IllegalArgumentException: pointerIndex out of range

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

每日精进




评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值