ViewPager出现pointerIndex out of range

Android  代码片段  2022年5月12日 am8:08发布3年前 (2022)更新 城堡大人
134 0 0

前言

ViewPager展示图片时,对图片操作时出现如下异常

AndroidRuntime: FATAL EXCEPTION: main
AndroidRuntime: Process: com.biumall.image, PID: 17729
AndroidRuntime: java.lang.IllegalArgumentException: pointerIndex out of range
AndroidRuntime:        at android.view.MotionEvent.nativeGetAxisValue(Native Method)
AndroidRuntime:        at android.view.MotionEvent.getX(MotionEvent.java:2205)
AndroidRuntime:        at androidx.viewpager.widget.ViewPager.onInterceptTouchEvent(ViewPager.java:2072)
AndroidRuntime:        at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2575)
AndroidRuntime:        at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3032)
AndroidRuntime:        at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2721)
AndroidRuntime:        at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3032)
AndroidRuntime:        at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2721)

这里简单记录一下,多谢

正文

网上有多种方式,比如方式一改源码,方式二自定ViewPager,然后onInterceptTouchEvent()处进行捕获异常。

本文采用的是第二种方式,对ViewPager进行捕获处理,如下:

public class ImageViewPager extends ViewPager {

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

    public ImageViewPager(Context context, AttributeSet attrs) {
        super(context, attrs);
    }

    @Override
    public boolean onInterceptTouchEvent(MotionEvent ev) {
        try {
            return super.onInterceptTouchEvent(ev);
        } catch (IllegalArgumentException | ArrayIndexOutOfBoundsException e) {
            return false;
        }
    }
}

参考文章

  1. java.lang.IllegalArgumentException: pointerIndex out of range
  2. 图片缩放时java.lang.IllegalArgumentException: pointerIndex out of range解决方案
  3. It's the android ViewPager's bug

 历史上的今天

  1. 2023: TextView走马灯重复走问题(0条评论)
  2. 2021: code 4874 SQLITE_IOERR_SHMSIZE(0条评论)
版权声明 1、 本站名称: 笔友城堡
2、 本站网址: https://www.biumall.com/
3、 本站部分文章来源于网络,仅供学习与参考,如有侵权,请留言

暂无评论

暂无评论...

随机推荐

startActivity源码分析1

前言简单记录一下startActivity()源码的启动过程,主要是过一下流程,细节太多顾不上。下面以Launcher界面启动(startActivity())未启动过的应用为例。这部分主要涉及,启动新的Activity前,系统会让当前Activity[叫Launcher吧]进入onPaus...

汪曾祺:豆腐

豆腐点得比较老的,为北豆腐。听说张家口地区有一个堡里的豆腐能用秤钩钩起来,扛着秤杆走几十里路。这是豆腐么?点得较嫩的是南豆腐。再嫩即为豆腐脑。比豆腐脑稍老一点的,有北京的“老豆腐”和四川的豆花。比豆腐脑更嫩的是湖南的水豆腐。豆腐压紧成型,是豆腐干。卷在白布层中压成大张的薄片,是豆腐片。东北叫干豆...

拦截并统一处理Activity的KeyEvent事件简介

前言本文介绍的是在Activity中对所有的事件进行统一拦截处理。下面是简单的需求:当上下左右按键操作界面的按键(可以点击的View)已经滑到最后一个或者第一个时,需要发信息通知。比当滑到列表底部时,此时就需要触发消息出去,至于发给谁这里暂定。正文隐藏内容!付费阅读后才能查看!¥1 ¥...

Android属性动画

前言本文主要介绍Android属性动画。这个是之前看《Android进阶之光》记录的,摘抄于此,方便自己查阅。正文早期Android提供的动画只有帧动画和 View 动画 ,后面Android 3.0后就出现了属性动画。在介绍属性动画前,也重新认识一下View动画的优缺点吧,反正谁好用简单...

Android动画之帧动画(Frame动画)

Android动画View Animation 视图动画(Tween Animation 补间动画),只能用来设置View的动画Drawable Animation 帧动画(Frame动画),一帧帧地显示资源文件中的DrawableProperty Animation 属性动画,在andr...

戴望舒:雨巷

撑着油纸伞,独自彷徨在悠长、悠长又寂寥的雨巷我希望逢着一个丁香一样地结着愁怨的姑娘 她是有丁香一样的颜色丁香一样的芬芳丁香一样的忧愁在雨中哀怨哀怨又彷徨 她彷徨在这寂寥的雨巷撑着油纸伞像我一样像我一样地默默行着寒漠、凄清,又惆怅 ...