文档章节

java.lang.IllegalArgumentException: pointerIndex

今日竹石
 今日竹石
发布于 2014/04/21 13:52
字数 337
阅读 1714
收藏 0

今天遇到一个bug:

java.lang.IllegalArgumentException: pointerIndex out of range
	at android.view.MotionEvent.nativeGetAxisValue(Native Method)
	at android.view.MotionEvent.getX(MotionEvent.java:1981)
	at android.support.v4.view.MotionEventCompatEclair.getX(MotionEventCompatEclair.java:32)
	at android.support.v4.view.MotionEventCompat$EclairMotionEventVersionImpl.getX(MotionEventCompat.java:91)
	at android.support.v4.view.MotionEventCompat.getX(MotionEventCompat.java:219)
	at android.support.v4.view.ViewPager.onTouchEvent(ViewPager.java:1901)
	at cn.xs8.app.activity.news.ui.CustomViewPager.onTouchEvent(CustomViewPager.java:29)
	at android.view.View.dispatchTouchEvent(View.java:7263)
	at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2235)
	at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1932)
	at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2241)
	at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1946)
	at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2241)
	at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1946)
	at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2241)
	at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1946)
	at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2241)
	at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1946)
	at com.android.internal.policy.impl.PhoneWindow$DecorView.superDispatchTouchEvent(PhoneWindow.java:1977)
	at com.android.internal.policy.impl.PhoneWindow.superDispatchTouchEvent(PhoneWindow.java:1427)
	at android.app.Activity.dispatchTouchEvent(Activity.java:2428)
	at com.android.internal.policy.impl.PhoneWindow$DecorView.dispatchTouchEvent(PhoneWindow.java:1925)
	at android.view.View.dispatchPointerEvent(View.java:7443)
	at android.view.ViewRootImpl.deliverPointerEvent(ViewRootImpl.java:3603)
	at android.view.ViewRootImpl.deliverInputEvent(ViewRootImpl.java:3531)
	at android.view.ViewRootImpl.doProcessInputEvents(ViewRootImpl.java:4783)
	at android.view.ViewRootImpl.enqueueInputEvent(ViewRootImpl.java:4743)
	at android.view.ViewRootImpl$WindowInputEventReceiver.onInputEvent(ViewRootImpl.java:4895)
	at android.view.InputEventReceiver.dispatchInputEvent(InputEventReceiver.java:179)
	at android.view.InputEventReceiver.nativeConsumeBatchedInputEvents(Native Method)
	at android.view.InputEventReceiver.consumeBatchedInputEvents(InputEventReceiver.java:171)
	at android.view.ViewRootImpl.doConsumeBatchedInput(ViewRootImpl.java:4863)
	at android.view.ViewRootImpl$ConsumeBatchedInputRunnable.run(ViewRootImpl.java:4917)
	at android.view.Choreographer$CallbackRecord.run(Choreographer.java:776)
	at android.view.Choreographer.doCallbacks(Choreographer.java:579)
	at android.view.Choreographer.doFrame(Choreographer.java:546)
	at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:762)
	at android.os.Handler.handleCallback(Handler.java:800)
	at android.os.Handler.dispatchMessage(Handler.java:100)
	at android.os.Looper.loop(Looper.java:194)
	at android.app.ActivityThread.main(ActivityThread.java:5371)
	at java.lang.reflect.Method.invokeNative(Native Method)
	at java.lang.reflect.Method.invoke(Method.java:525)
	at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:833)
	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:600)
	at dalvik.system.NativeStart.main(Native Method)

     在网上很多关于该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;  



© 著作权归作者所有

共有 人打赏支持
今日竹石
粉丝 41
博文 227
码字总数 181312
作品 0
朝阳
程序员
java.lang.IllegalArgumentException: pointerIndex

// java.lang.IllegalArgumentException: pointerIndex out of range // at android.view.MotionEvent.nativeGetAxisValue(Native Method) // at android.view.MotionEvent.getY(MotionEvent......

今日竹石
2014/03/26
0
0
IllegalArgumentException: pointerIndex out of rang

解决java.lang.IllegalArgumentException: pointerIndex out of range的错误 在网上很多关于该bug的处理都众说纷纭,我在这里不再详述该bug产生的原因,下面给出一种在4.1的机子上测试通过的...

xunfang
2016/01/29
26
0
android 吐槽一下开源项目PhotoView

项目地址:https://github.com/chrisbanes/photoview

当空皓月
2015/02/05
10.4K
4
Android触控基础:MotionEvent

之前的文章层从Framework层介绍了Android Touch事件即(MotionEvent)的传递机制。本文将详细介绍MotionEvent的一些成员和方法。了解了MotionEvent对开发一些特效如拖动控件或多点缩放控件有很...

JayPark不作死
2014/11/11
0
0
SSH 错误记录

Error querying database. Cause: java.lang.IllegalArgumentException: Mapped Statements collection does not contain value for com.globalroam.monitor.dao.Impl.DailyReportDaoImpl.ge......

scymore
2016/03/14
40
0

没有更多内容

加载失败,请刷新页面

加载更多

活动招募 HUAWEI HiAI公开课·北京站-如何在4小时把你的APP变身AI应用

人工智能和机器学习是全球关注的新趋势,也是当前最火爆、最流行的话题。当你拿手机用语音助手帮你点外卖,智能推荐帮你把周边美食一网打尽;当你拿起P20拍照时,它将自动识别场景进行最美优...

华为终端开放实验室
8分钟前
0
0
匹配两位小数,js正则

var regex = /^\d*(\.[1-9]|\.\d[1-9])*$/ console.log(1.2,regex.test(1.2)); console.log(0.3,regex.test(0.3)); console.log(1.03,regex.test(1.03)); ......

微信小程序-暗潮
13分钟前
0
0
905. Sort Array By Parity - LeetCode

Question 905. Sort Array By Parity Solution 题目大意:数组排序,偶数放前,奇数在后,偶数的数之间不用管顺序,奇数的数之间也不用管顺序 思路:建两个list,一个放偶数,一个放奇数,最...

yysue
18分钟前
0
0
h5 禁止手机自带键盘弹出

html: <div style="width: 350px;margin:50px auto;"><input type="text" id="datePicker" class="date_picker form-control" placeholder="点击选择入住日期" /></div> js: $("#date......

Delete90
35分钟前
1
0
color透明度对照表

透明度百分比 数值 100% 不透明 FF 95% F2 90% E6 85% D9 80% CC 75% BF 70% B3 65% A6 60% 99 55% 8C 50% 80 45% 73 40% 66 35% 59 30% 4D 25% 40 20% 33 15% 26 10% 1A 5% 0D 0% 完全透明 ......

_无问西东
36分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部