Это ответил , и я хотел бы сделать его более всеобъемлющим здесь.
SimpleCursorAdapter требует, чтобы в результирующем наборе Cursor был включен столбец с именем точно «_id». Не спешите изменять схему, если вы не указали столбец «_id» в своей таблице. SQLite автоматически добавляет скрытый столбец с именем «rowid» для каждой таблицы. Все, что вам нужно сделать, это просто выбрать rowid явно и псевдоним как «_id».
SQLiteDatabase db = mHelper.getReadableDatabase();
Cursor cur = db.rawQuery( "select rowid _id,* from your_table", null);