SQLite cursor.getString() NullPointerException
Я получаю исключение NullPointerException, когда пытаюсь получить данные из моей базы данных SQLite в Android. Я создаю Cursor из необработанного запроса и вызываю 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 ответ
Решение
У вас нет никаких CampaignListItems в вашем массиве, так как вы только строите массив, но не добавляете туда никаких объектов. Поэтому names[row] имеет значение null.