Я новичок в Android.И у меня есть проблема (вопрос noob), не могли бы вы помочь?
У меня есть метод базы данных getAllQhest () для извлечения всех записей из таблицы в ArrayList.Код ниже.Я предполагаю, что это работает.
Следующим шагом является получение определенных данных из ArrayList.Вопрос: как это сделать?Я предполагаю, что я мог бы использовать indexOf () или get ().Но все же я не понимаю, как получить правильный ряд.Вывод ниже.
Так что мне нужно поместить 1 строку из таблицы в ArrayList?Или мне нужно использовать другой подход?
// Getting All Quests
public List<Quest> getAllQuests() {
List<Quest> questList = new ArrayList<Quest>();
// Select All Query
String selectQuery = "SELECT * FROM " + TABLE_QUEST;
SQLiteDatabase db = this.getWritableDatabase();
Cursor cursor = db.rawQuery(selectQuery, null);
// looping through all rows and adding to list
if (cursor.moveToFirst()) {
do {
Quest quest = new Quest();
quest.setID(Integer.parseInt(cursor.getString(0)));
quest.setQuestName(cursor.getString(1));
quest.setQuestPlayer(cursor.getString(2));
quest.setStatus(cursor.getInt(3));
// Adding quest to list
questList.add(quest);
} while (cursor.moveToNext());
}
// return quest list
return questList;
}
// I try to figure out what to do
List<Quest> questList = db.getAllQuests();
int index = questList.indexOf(1);
Log.d(LOG_TAG, "--- index of Quest= " + index);
Log.d(LOG_TAG, "--- element of " + index + " is " + questList.get(1));
Вывод этого кода:
10-20 08:39:30.210 D/myLogs: --- index of Quest= -1
10-20 08:39:30.210 D/myLogs: --- element of -1 is com.homemade.saga.Quest@41b10288