Arraylist от вставки в базу данных с размером 0 - PullRequest
0 голосов
/ 07 июня 2019

Я играю в викторины и по какой-то причине вставка вопроса в базу данных не работает.Я создал класс с именем q, который имеет номер вопроса (qnum), строку самого вопроса (que), четыре возможных ответа (a1 - a4) и как int номер правильного ответа (cor).

Когда я запускаю приложение, оно должно запускать fillqt (), вставляя 5 вопросов, но позже, когда я вызываю getAllQuestions, оно говорит мне, что размер ArrayList равен 0.

Пожалуйста, кто-нибудь может мне помочь найтигде проблема?

public boolean insertQuestion(q q1, SQLiteDatabase db) {
    int rows = this.numberOfRows(db);
    q1.setQnum(rows);
    ContentValues contentValues = new ContentValues();
    contentValues.put("question", q1.getQue());
    contentValues.put("A1", q1.getA1());
    contentValues.put("A2", q1.getA2());
    contentValues.put("A3", q1.getA3());
    contentValues.put("A4", q1.getA4());
    contentValues.put("cor", q1.getCor());
    db.insert("list", null, contentValues);
    return true;
}

private void fillQT(SQLiteDatabase db) {
    q q1 = new q("What is the capital city of the Netherlands?", "Moscow", "Copenhagen", "Amsterdam", "Riga", 3);
    insertQuestion(q1, db);
    q q2 = new q("Who invented the scissors?", "Galileo Galilei", "George Washington", "Frederick Scissor", "Alexander Bell", 1);
    insertQuestion(q2, db);
    q q3 = new q("question value1", "A11", "A21", "A31", "A41", 0);
    insertQuestion(q3, db);
    q q4 = new q("question value2", "A12", "A22", "A32", "A42", 0);
    insertQuestion(q4, db);
    q q5 = new q("question value3", "A13", "A23", "A33", "A43", 0);
    insertQuestion(q5, db);
    ContentValues cv = new ContentValues();
    cv.put("points", "0");
    cv.put("ft", true);
    db.insert(TRIVIA_TABLE_SECOND, "id = 0", cv);
}

public ArrayList<q> getAllQuestions() {
    ArrayList<q> array_list = new ArrayList<q>();

    SQLiteDatabase db = this.getReadableDatabase();
    Cursor res = db.rawQuery("select * from list", null);
    res.moveToFirst();

    while (res.isAfterLast() == false) {
        q temp = new q();
        temp.setQnum(res.getInt(0));
        temp.setQue(res.getString(1));
        temp.setA1(res.getString(2));
        temp.setA2(res.getString(3));
        temp.setA3(res.getString(4));
        temp.setA4(res.getString(5));
        temp.setCor(res.getInt(6));

        array_list.add(temp);
        res.moveToNext();
    }
    return array_list;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...