Как я могу использовать цикл For, чтобы уменьшить количество строк в следующем коде? - PullRequest
0 голосов
/ 14 мая 2019

Я пытаюсь заполнить список данными из SQLite. Как я могу использовать циклы For, чтобы уменьшить количество строк в следующем коде? Мне придется передать строковые массивы fa, fe, fi, fo в ListAdapter.

    arrayList = new ArrayList<>();
    Cursor res = myhelp.getAllData();

    if (res.getCount() == 0) {
        Toast.makeText(this, "No data", Toast.LENGTH_SHORT).show();
    }else {
        while (res.moveToNext()) {

            arrayList.add(res.getString(0));
            fa = arrayList.toArray(new String[0]);

            }
        }
    arrayList1 = new ArrayList<>();
    Cursor res1 = myhelp.getAllData();

        while (res1.moveToNext()) {

            arrayList1.add(res1.getString(1));
            fe = arrayList1.toArray(new String[0]);


    }
    arrayList2 = new ArrayList<>();
    Cursor res2 = myhelp.getAllData();

        while (res2.moveToNext()) {

            arrayList2.add(res2.getString(2));
            fi = arrayList2.toArray(new String[0]);


    }
    arrayList3 = new ArrayList<>();
    Cursor res3 = myhelp.getAllData();

        while (res3.moveToNext()) {

            arrayList3.add(res3.getString(3));
            fo = arrayList3.toArray(new String[0]);

        }

1 Ответ

0 голосов
/ 14 мая 2019

Поскольку ваши исходные данные всегда одинаковы, вам не нужно перечитывать их много раз, и вы можете просто зациклить один раз

arrayList = new ArrayList<>();
arrayList1 = new ArrayList<>();
arrayList2 = new ArrayList<>();
// etc
Cursor res = myhelp.getAllData();
while (res.moveToNext()) {

        arrayList.add(res.getString(0));
        fa = arrayList.toArray(new String[0]);
        arrayList1.add(res.getString(1));
        fe = arrayList1.toArray(new String[0]);
        arrayList2.add(res.getString(2));
        fi = arrayList2.toArray(new String[0]);
        // etc

}

Примечание

не уверен, что делает fa = arrayList.toArray(new String[0]);, но я думаю, что вы можете сделать это после цикла

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...