Android ListView заполнен строкой [] - PullRequest
0 голосов
/ 11 октября 2011

Я пытаюсь заполнить ListView строкой [].Проблема в том, что я хочу сделать это заполнение, когда нахожу вхождения с другим массивом.Я пытаюсь объяснить.У меня есть ArrayList [0,1,0,0,1, ...] Это меняется каждый раз, когда пользователь дает некоторые ответы на вопросы викторины.Пример: 10 вопросов, 10 ответов и т. Д. Размер ArrayList = 10. Как видите, 0 - «неправильный ответ», а 1 - «правильный ответ».Поэтому я создаю ArrayList с максимальным размером, зависящим от таблицы тестов базы данных, и это называется «domandesatte».

Итак, я сделал 2 String []: один для правильного ответа («Domanda #: Esatta означает вопрос №»).: CORRECT) и один за неправильный ответ («Domanda #: ERRATA!» Означает «Question #: Wrong»)

Наконец, «vettoreint» - это ArrayList, который я получаю из Intent.getIntegerArrayListExtra ();

listView = (ListView)findViewById(R.id.list2);
      listView.setTextFilterEnabled(true);
        listView2 = (ListView)findViewById(R.id.listSbagliato);
          listView2.setTextFilterEnabled(true);
final String[] domandesatte = {"Domanda n°1: ESATTA!","Domanda n°2: ESATTA!","Domanda n°3: ESATTA!",
            "Domanda n°4: ESATTA!","Domanda n°5: ESATTA!","Domanda n°6: ESATTA!",
            "Domanda n°7: ESATTA!","Domanda n°8: ESATTA!","Domanda n°9: ESATTA!",
            "Domanda n°10: ESATTA!","Domanda n°11: ESATTA!","Domanda n°12: ESATTA!",
            "Domanda n°13: ESATTA!","Domanda n°14: ESATTA!","Domanda n°15: ESATTA!",
            "Domanda n°16: ESATTA!","Domanda n°17: ESATTA!","Domanda n°18: ESATTA!",
            "Domanda n°19: ESATTA!","Domanda n°20: ESATTA!","Domanda n°21: ESATTA!",
            "Domanda n°22: ESATTA!","Domanda n°23: ESATTA!"};

final String[] domanderrate = {"Domanda n°1: ERRATA!","Domanda n°2: ERRATA!","Domanda n°3: ERRATA!",
            "Domanda n°4: ERRATA!","Domanda n°5: ERRATA!","Domanda n°6: ERRATA!",
            "Domanda n°7: ERRATA!","Domanda n°8: ERRATA!","Domanda n°9: ERRATA!",
            "Domanda n°10: ERRATA!","Domanda n°11: ERRATA!","Domanda n°12: ERRATA!",
            "Domanda n°13: ERRATA!","Domanda n°14: ERRATA!","Domanda n°15: ERRATA!",
            "Domanda n°16: ERRATA!","Domanda n°17: ERRATA!","Domanda n°18: ERRATA!",
            "Domanda n°19: ERRATA!","Domanda n°20: ERRATA!","Domanda n°21: ERRATA!",
            "Domanda n°22: ERRATA!","Domanda n°23: ERRATA!"};

for(int i=0;i<vettoreint.size();i++)
        {
     if (vettoreint.get(i) == 1) {

         listView.setAdapter(new ArrayAdapter<String>(this,
                android.R.layout.simple_list_item_1, domandesatte));
        listView.setTextFilterEnabled(true);    
     }
     else {
         if(vettoreint.get(i) == 0)
         {

         listView2.setAdapter(new ArrayAdapter<String>(this,
                android.R.layout.simple_list_item_1, domandesatte));
        listView2.setTextFilterEnabled(true);   

         }
        }
        }

Все, что я хочу сделать, это увидеть 2 ListViews (1 для правильного ответа и 1 для неправильного ответа) в зависимости от ArrayList Пример: 10 ответов, 5 «Вопрос № правильный», 5 «Вопрос № неправильный».

Я пытаюсь поместить domandesatte [i], но это неправильно в соответствии с адаптером. Поэтому я попытался поместить subList (i, i + 1), но он возвращает только последние два вхождения: одно для правильного и одноза неправильно.

У вас есть какие-либо предложения? Извините за мой английский и спасибо за вашу огромную поддержку!

1 Ответ

0 голосов
/ 11 октября 2011

Я не знаю, понимаю ли я вашу проблему, но не мог бы вы сделать это так:

private ArrayList<String> domandesatte = new ArrayList<String>();
private ArrayList<String> domanderrate = new ArrayList<String>();

....

for(int i=0;i < vettoreint.size();i++) {
     if (vettoreint.get(i) == 1) {
         domandesatte.add("Domanda n°" + i + ": ESATTA!");
     } else {
         domanderrate.add("Domanda n°" + i + ": ERRATA!");
     }
}

listView.setAdapter(new ArrayAdapter<String>(this,
                android.R.layout.simple_list_item_1, domandesatte));

listView2.setAdapter(new ArrayAdapter<String>(this,
                android.R.layout.simple_list_item_1, domanderatte));
...