解决java.lang.IllegalArgumentException: pointerIndex out of range的错误

在网上很多关于该bug的处理都众说纷纭,我在这里不再详述该bug产生的原因,下面给出一种在4.1的机子上测试通过的方案:

1.让你的view(可能是ScrollView,WebView,MapView等),创建一个子view继承于它们中的某一个;

2.重写onInterceptTouchEvent 和onTouchEvent方法

3.try catch 该两个方法,形如下面:

try{

super.onInterceptTouchEvent(MotionEvent ev)

} catch(ILLegalArgumentException ex) {

}

return false;

try{

super.onTouchEvent(MotionEvent ev)

} catch(ILLegalArgumentException ex) {

}

return false;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
java.lang.IllegalArgumentException: pointerIndex out of range 是一个 Java 异常,意味着在使用触摸屏或鼠标等输入设备时,指针索引超出了有效范围。这个异常通常发生在处理触摸或滑动事件时,可能是因为程序没有正确处理输入事件或者出现了错误的输入事件。 解决这个问题的方法有多种,具体取决于你的代码和应用程序的需求。以下是一些常见的解决方法: 1. 请确保在处理触摸或滑动事件时,检查指针索引是否在有效范围内。可以通过使用 MotionEvent 类的 getPointerCount() 方法来获取指针数量,并使用 getActionIndex() 方法获取触摸事件的索引。 2. 在处理触摸或滑动事件之前,先检查指针索引是否在有效范围内。可以使用以下代码片段来进行检查: ``` if (pointerIndex < 0 || pointerIndex >= pointerCount) { // 处理超出范围的情况 } ``` 3. 确保在滑动或触摸操作结束后,及时释放资源或重置状态。可能需要在 MotionEvent.ACTION_UP 或 MotionEvent.ACTION_CANCEL 事件中进行适当的清理和重置操作。 4. 检查你的代码是否正确处理了触摸或滑动事件的序列。例如,在处理多点触控事件时,确保每个触摸点的索引都正确处理,避免出现混乱或错误的索引。 5. 如果你使用了自定义的触摸或滑动事件处理类,确保该类正确处理了指针索引超出范围的情况,并提供适当的错误处理或日志记录。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值