java.lang.IllegalArgumentException: pointerIndex out of range

Q:在做多点触控放大缩小,操作自己所绘制的图形时发生这个异常


A:bug是Android系统原因

1.修改frameworks\base\core\jni\android_view_MotionEvent.cpp
的android_view_MotionEvent_nativeGetAxisValue方法注释掉

if (!validatePointerIndex(env, pointerIndex, pointerCount)) 
{return 0;}

2.捕获IllegalArgumentException异常

private float spacing(MotionEvent event) {
    try {
        x = event.getX(0) - event.getX(1);
        y = event.getY(0) - event.getY(1);
    } catch (IllegalArgumentException e) {      
        e.printStackTrace();
    }
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容