同様の問題がいくつか見つかりましたが、問題として指摘されたものはすべてここには当てはまらないようです。
データプロバイダーとして MatrixCursor と SimpleCursorAdapter を持つ ListView があります。リスト アイテム スタイルは 1 つだけで、ヘッダーやフッターなどはありません。リストをすばやく上下にスクロールすると、おそらくリストの一番上にバウンスするときにのみ、スタック トレースにアプリケーション コードがなくても IndexOutOfBounds 例外が発生することがあります。だから捕まえることもできない。
これは、Huawei Ideos U8510 / Android 2.3.3 および Acer Iconia Tab A510 / Android 4.1.2 で発生します (少なくともテスト済み)。
修正または回避する方法を教えてください。
ティア
02-05 10:17:12.980: E/AndroidRuntime(1517): FATAL EXCEPTION: main
02-05 10:17:12.980: E/AndroidRuntime(1517): java.lang.ArrayIndexOutOfBoundsException
02-05 10:17:12.980: E/AndroidRuntime(1517): at android.view.MotionEvent.getY(MotionEvent.java:903)
02-05 10:17:12.980: E/AndroidRuntime(1517): at android.widget.AbsListView.onTouchEvent(AbsListView.java:2189)
02-05 10:17:12.980: E/AndroidRuntime(1517): at android.widget.ListView.onTouchEvent(ListView.java:3486)
02-05 10:17:12.980: E/AndroidRuntime(1517): at android.view.View.dispatchTouchEvent(View.java:3885)
02-05 10:17:12.980: E/AndroidRuntime(1517): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:903)
02-05 10:17:12.980: E/AndroidRuntime(1517): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:942)
02-05 10:17:12.980: E/AndroidRuntime(1517): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:942)
02-05 10:17:12.980: E/AndroidRuntime(1517): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:942)
02-05 10:17:12.980: E/AndroidRuntime(1517): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:942)
02-05 10:17:12.980: E/AndroidRuntime(1517): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:942)
02-05 10:17:12.980: E/AndroidRuntime(1517): at com.android.internal.policy.impl.PhoneWindow$DecorView.superDispatchTouchEvent(PhoneWindow.java:1693)
02-05 10:17:12.980: E/AndroidRuntime(1517): at com.android.internal.policy.impl.PhoneWindow.superDispatchTouchEvent(PhoneWindow.java:1125)
02-05 10:17:12.980: E/AndroidRuntime(1517): at android.app.Activity.dispatchTouchEvent(Activity.java:2096)
02-05 10:17:12.980: E/AndroidRuntime(1517): at com.android.internal.policy.impl.PhoneWindow$DecorView.dispatchTouchEvent(PhoneWindow.java:1677)
02-05 10:17:12.980: E/AndroidRuntime(1517): at android.view.ViewRoot.deliverPointerEvent(ViewRoot.java:2257)
02-05 10:17:12.980: E/AndroidRuntime(1517): at android.view.ViewRoot.handleMessage(ViewRoot.java:1881)
02-05 10:17:12.980: E/AndroidRuntime(1517): at android.os.Handler.dispatchMessage(Handler.java:99)
02-05 10:17:12.980: E/AndroidRuntime(1517): at android.os.Looper.loop(Looper.java:123)
02-05 10:17:12.980: E/AndroidRuntime(1517): at android.app.ActivityThread.main(ActivityThread.java:3695)
02-05 10:17:12.980: E/AndroidRuntime(1517): at java.lang.reflect.Method.invokeNative(Native Method)
02-05 10:17:12.980: E/AndroidRuntime(1517): at java.lang.reflect.Method.invoke(Method.java:507)
02-05 10:17:12.980: E/AndroidRuntime(1517): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:842)
02-05 10:17:12.980: E/AndroidRuntime(1517): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:600)
02-05 10:17:12.980: E/AndroidRuntime(1517): at dalvik.system.NativeStart.main(Native Method)