java.lang.IllegalArgumentException: pointerIndex out of range

Q:在做多點觸控放大縮小,操作自己所繪制的圖形時發(fā)生這個異常


A:bug是Android系統(tǒng)原因

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();
    }
最后編輯于
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內(nèi)容