SQLite cursor.getString () NullPointerException - PullRequest
0 голосов
/ 12 февраля 2012

Я получаю исключение NullPointerException, когда пытаюсь получить данные из моей базы данных SQLite в Android. Я создаю курсор из необработанного запроса и вызываю cur.getString (index), однако это приводит к исключению NullPointerException:

SQLiteDatabase db = dbHelper.getReadableDatabase();
    Cursor cur = db.rawQuery("SELECT Campaign, sum(Score) AS Score, Player FROM Levels GROUP BY Campaign", null);

    final int length = cur.getCount();
    names = new CampaignListItem[length];

    if (cur.moveToFirst()) {
        int row = 0;
        do {
            names[row].name = cur.getString(0); <--NPE
            names[row].score = cur.getInt(1);
            names[row].player = cur.getString(2);
            row++;
        } while (cur.moveToLast());
    }
    cur.close();
    db.close();  

Я вошел в систему cur и names, однако они не являются нулевыми. Я что-то не так делаю?

1 Ответ

2 голосов
/ 12 февраля 2012

У вас нет никаких CampaignListItems в вашем массиве, так как вы только строите массив, но не добавляете туда никаких объектов.Поэтому names [row] имеет значение null.

...