我可以打开我的数据库没有明显的问题,
这段代码可以完美地工作……
if (main.cursor.isLast()) {
main.cursor.moveToFirst();
} else {
main.cursor.moveToNext();
}
但是如果我尝试用下面的代码走另一条路,在我的数据库中它会强制关闭……
try {
if ((main.cursor.isFirst()) || (main.cursor.isBeforeFirst())) {
main.cursor.moveToPosition((main.cursor.getCount()) - 1);
main.cursor.moveToPosition(lastrow);
} else {
main.cursor.moveToPrevious();
}
} catch (Exception e) {
e.printStackTrace();
}
我已经在stackoverflow和在线上到处寻找,试图弄清楚这一点...
请帮帮我!
编辑: Logcat
10-11 14:57:07.722: DEBUG/AndroidRuntime(450): Shutting down VM
10-11 14:57:07.722: WARN/dalvikvm(450): threadid=1: thread exiting with uncaught exception (group=0x40015560)
10-11 14:57:07.752: ERROR/AndroidRuntime(450): FATAL EXCEPTION: main
10-11 14:57:07.752: ERROR/AndroidRuntime(450): android.database.CursorIndexOutOfBoundsException: Index 185 requested, with a size of 185
10-11 14:57:07.752: ERROR/AndroidRuntime(450): at android.database.AbstractCursor.checkPosition(AbstractCursor.java:580)
10-11 14:57:07.752: ERROR/AndroidRuntime(450): at android.database.AbstractWindowedCursor.checkPosition(AbstractWindowedCursor.java:214)
10-11 14:57:07.752: ERROR/AndroidRuntime(450): at android.database.AbstractWindowedCursor.getString(AbstractWindowedCursor.java:41)
发布于 2011-10-12 15:38:03
您Logcat显示错误: CursorIndexOutOfBoundsException: Inde185 requested,大小为185,这意味着您移动到了错误的位置。似乎这一行导致:
main.cursor.moveToPosition(lastrow);
我认为这句话是没用的。
https://stackoverflow.com/questions/7708286
复制相似问题