Android 中 java.lang.IllegalArgumentException: pointerIndex out of range

在项目中用ViewPager实现图片切换浏览+缩放的时候会遇到pointerIndex out of range这个BUG,可以重写onTouchEvent和onInterceptTouchEvent把这个异常try/catche掉。
代码如下,直接复制粘贴就能用:

public class NanViewPager extends ViewPager {

    public NanViewPager (Context context) {
        super(context);
    }

    public NanViewPager (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;
    }
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 175,692评论 25 709
  • 设计UI时,亲爱的交互设计师们总会有一些天马行空的想法,大多数情况下原生的控件已不能支持这些“看似简单”的交互逻辑...
    布隆阅读 6,988评论 9 25
  • 我又看见了那位不知姓名的摆渡老者 在日薄西山的阴影之下 泊船,大口抽吸自种的叶子烟 眼光如同深邃的湖水,收纳年岁厚...
    无知恶阅读 1,105评论 0 0
  • 沙漠总是荒芜、酷热、不近人情,它的独特风情似乎只是那么一部分特殊人群所钟爱,却也是本着“到此一游”,就地取乐,完成...
    星星树阅读 1,846评论 0 0