Как выбрать данные из arrayList - PullRequest
0 голосов
/ 24 октября 2018

Я новичок в 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

1 Ответ

0 голосов
/ 25 октября 2018

Вы можете перебирать список объектов, используя для каждой конструкции

for (Quest q: questlist) {
    Log.d(LOG_TAG,"--- index of Quest= " + String.valueOf(q.getIndex));
    ...... etc
}
  • Обратите внимание, что предполагается, что getIndex getter *Метод 1010 * настроен в классе квестов.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...