我有这个日志
07-27 21:42:05.635: 错误/AndroidRuntime (26094): 致命异常: main 07-27 21:42:05.635:错误/AndroidRuntime(26094):android.database.CursorIndexOutOfBoundsException:请求索引 2,大小为 2 07-27 21:42:05.635: 错误/AndroidRuntime (26094): 在 android.database.AbstractCursor.checkPosition (AbstractCursor.java:580) 07-27 21:42:05.635: 错误/AndroidRuntime (26094): 在 android.database.AbstractWindowedCursor.checkPosition (AbstractWindowedCursor.java:214) 07-27 21:42:05.635:错误/AndroidRuntime(26094):在 android.database.AbstractWindowedCursor.getString(AbstractWindowedCursor.java:41) 07-27 21:42:05.635: 错误/AndroidRuntime (26094): 在 it.android.infoconsumatori.ServiceS$1.handleMessage (ServiceS.java:101) 07-27 21:42:05.635: 错误/AndroidRuntime (26094): 在 android.os.Handler.dispatchMessage (Handler.java:99) 07-27 21:42:05.635: 错误/AndroidRuntime (26094): 在 android.os.Looper.loop (Looper.java:123) 07-27 21:42:05.635: 错误/AndroidRuntime (26094): 在 android.app.ActivityThread.main (ActivityThread.java:3691) 07-27 21:42:05.635:错误/AndroidRuntime(26094):在 java.lang.reflect.Method.invokeNative( native 方法) 07-27 21:42:05.635: 错误/AndroidRuntime (26094): 在 java.lang.reflect.Method.invoke (Method.java:507) 07-27 21:42:05.635:错误/AndroidRuntime(26094):在 com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:847) 07-27 21:42:05.635: 错误/AndroidRuntime (26094): 在 com.android.internal.os.ZygoteInit.main (ZygoteInit.java:605) 07-27 21:42:05.635:错误/AndroidRuntime(26094):在 dalvik.system.NativeStart.main( native 方法) 07-27 21:42:05.640: 错误/(2695): Dumpstate >/data/log/dumpstate_app_error
问题是什么??
最佳答案
这意味着您正在访问一个不存在的项目。可以这样想:一个游标有一定数量的行(你要访问的数据),这些行是零索引的,意思是如果有10行数据,第一行数据是索引0,并且第 10 行(最后一个可用值)是索引 9 而不是 索引 10 - 索引 10 不存在。
你的问题正是由于这个原因,你有一个两行的游标(索引 0 到 1),并且你正试图访问索引 2(根本不存在的第三项),因此你得到一个异常抛出。
希望对您有所帮助。
关于Android android.database.CursorIndexOutOfBoundsException : Index 2 requested, 大小为 2,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6850295/