最近遇到的viewpager 里面的關(guān)于多點觸控時候報的異常崩潰錯誤
報錯信息簡潔顯示如下:
java.lang.IllegalArgumentException: pointerIndex out of range
at android.view.MotionEvent.nativeGetAxisValue(Native Method)
at android.view.MotionEvent.getX(MotionEvent.java:1981)
............
等等這些
不知道怎么情況 以為是自己引用的控件的本身的bug,通過度娘知道,可能是系統(tǒng)本身的錯誤
所幸找到了解決方法如下:
自定義控件,重寫控件的方法,捕獲異常,完美解決
public class MyVerticalViewPager extends VerticalViewPager {
public MyVerticalViewPager(Context context) {
super(context);
}
public MyVerticalViewPager(Context context, AttributeSet attrs) {
super(context, attrs);
}
@Override
public boolean onTouchEvent(MotionEvent ev) {
try {
return super.onTouchEvent(ev);
} catch (IllegalArgumentException ex) {
ex.printStackTrace();
}
return false;
}
@Override
public boolean onInterceptTouchEvent(MotionEvent ev) {
try {
return super.onInterceptTouchEvent(ev);
} catch (IllegalArgumentException ex) {
ex.printStackTrace();
}
return false;
}
}
以上方法完美解決,感謝分享解決方法的大神.
參考鏈接:https://blog.csdn.net/nnmmbb/article/details/28419779
希望能對大家有所幫助,歡迎大家一起討論交流.
3952735fe4a07d74f844ab84d36c43b0_r.jpg