Попытка добраться до последней позиции курсора с sqlite DB «moveToLast» вызывает принудительное закрытие - PullRequest
0 голосов
/ 10 октября 2011

Я могу открыть свою базу данных без видимых проблем,

этот кусок кода работает отлично ....

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();
        }

Я просмотрел весь стекопоток и онлайн, пытаясь выяснить это ...

пожалуйста, помогите!

Редактировать: 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)    

1 Ответ

0 голосов
/ 12 октября 2011

Ваш Logcat показывает ошибку: CursorIndexOutOfBoundsException: Индекс 185 запрошен, с размером 185, что означает, что вы переместились в неправильную позицию.Кажется, что эта строка вызывает:

main.cursor.moveToPosition(lastrow);

Я думаю, что эта строка бесполезна.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...