前言
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;
}
}
}
参考文章
- 《java.lang.IllegalArgumentException: pointerIndex out of range》
- 《图片缩放时java.lang.IllegalArgumentException: pointerIndex out of range解决方案》
- 《It's the android ViewPager's bug 》
历史上的今天
暂无评论...
随机推荐
修改logcat缓存大小
前言Android机器在打印logcat时,偶然由于日志输出过大,会出现如下问题adb logcat read: unexpected EOF!然后被强制性退出了打印。解决的方法有两种,一种是使用adb临时修改,断电就恢复,一种是代码中修改,永久性存在。正文永久修改logcat缓存...
SharedPreferences数据存储介绍
前言Android中的SharedPreferences经常使用,这里就对着存储的数据类型进行简单的记录,方便自己回顾。正文进入SharedPreferences.java看一下主要的方法。写入方法常用的写入数据的方法如下Editor putStringSet(String key, ...
AudioTrack简单简介之四:wav去掉文件头之解决爆音
其实这个是我自己对WAV头文件没有理解对,应该早就解决了的。看图WAV文件头信息由大小44个字节的数据组成:4字节数据,内容为“RIFF”,表示资源交换文件标识4字节数据,内容为一个整数,表示从下个地址开始到文件尾的总字节数4字节数据,内容为“WAVE”,表示WAV文件标识4字节数...
adb shell 命令启动带参数的Activity
前言之前简单整理过《adb命令启动service、Activity和发送Broadcast》,但使用adb启动Activity带参数的没有整理。因此这次想起,记录于此,方便自己查阅。好记性不如烂笔头正文本文主要是整理一下常用的使用adb shell启动带参数的Activity。不带参数启...
MediaMetadataRetriever解析媒体文件元数据
前言记录一下,一般获取视频、音频等媒体文件的元数据信息是使用MediaMetadataRetriever这个类。正文直接上代码。MediaMetadataRetriever mediaMetadataRetriever = new MediaMetadataRetriever();//设...
洛夫:石榴树
假若把你的诺言刻在石榴树上枝桠上悬垂着的就显得更沉重了 我仰卧在树下,星子仰卧在叶丛中每一株树属于我,我在每一株树中它们存在,爱便不会把我遗弃 哦!石榴已成熟,这动人的炸裂每一颗都闪烁着光,闪烁着你的名字