Как установить строку для произвольного Textview в массиве? - PullRequest
0 голосов
/ 15 января 2019

Я создаю приложение с базой данных. База данных содержит строки для Textview. У меня есть 6 текстовых просмотров, и 3 из них должны быть пустыми. Пользователь вставляет текст с помощью Edittext, и текст должен сравниваться с другими 3 строками и, если они верны, переходить к пустым текстовым представлениям.

    t1 = findViewById(R.id.textView4);
    t2 = findViewById(R.id.textView5);
    t3 = findViewById(R.id.textView6);
    t4 = findViewById(R.id.textView7);

    t5 = findViewById(R.id.textView8); //empty
    t6 = findViewById(R.id.textView9);
    t7 = findViewById(R.id.textView10); //empty
    t8 = findViewById(R.id.textView11); //empty


    a = t1.getText().toString();
    b = t2.getText().toString();
    c = t3.getText().toString();


    tL1 = new ArrayList<>();
    tL1.add(a);
    tL1.add(b);
    tL1.add(c);


    tL2 = new ArrayList<TextView>();
    if(t5.equals("")){
        tL2.add(t5);
    }
    if(t6.equals("")){
        tL2.add(t6);
    }
    if(t7.equals("")){
        tL2.add(t7);
    }
    if(t8.equals("")){
        tL2.add(t8);
    }

Я использую Arraylist для создания массива с пустыми текстовыми представлениями. Сейчас я пытаюсь заполнить пустые текстовые представления текстом. Как поместить текст в Textview, не зная, какой текст пуст? Я пытался

tL2.get (0) .setText (а);

но это не работает. Это выходит

E / AndroidRuntime: FATAL EXCEPTION: main. java.lang.IndexOutOfBoundsException: индекс: 0, размер: 0

1 Ответ

0 голосов
/ 15 января 2019

Полученная ошибка говорит о том, что tL2 пусто. Я полагаю, вы хотели сравнить текст внутри textViews с пустой строкой, поэтому вы должны изменить свой код так, чтобы он выглядел следующим образом:

if(t5.getText().equals("")){
    tL2.add(t5);
}

Кроме того, лучше проверить, есть ли внутри tL2 элементы, прежде чем использовать первый элемент, поэтому я бы изменил последний кусок кода, чтобы он выглядел так:

if (tL2.size()>0)
    tL2.get(0).setText(a);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...