Android ArrayList TextView не отображает текст после setText

Привет, у меня возникли проблемы с созданием приложения, и я нигде не мог найти ответ. У меня есть EditText для пользовательского ввода. У меня есть слово String, и у меня есть ArrayList с TextViews в нем. Я хочу установить текст TextView на основе того, равен ли пользовательский ввод символу из строки. Если символ равен, он должен отображаться в правом TextView. Теперь проблема в том, что если я ввожу символ, который должен совпадать с символом из слова, он мне ничего не показывает, даже когда я хочу показать StringBuilder в другом TextView, он выглядит пустым.

У меня есть это:

public void onClickButtons(View view) {
    if(view==mBtnGuess) {
        String getInput = mEtxtUserInput.getText().toString();
        word = "someword";
        if(getInput.length()==1) {
            List<TextView> txtCharArr= new ArrayList<TextView>();
            txtCharArr.add(mChar1);
            txtCharArr.add(mChar2);
            txtCharArr.add(mChar3);
            txtCharArr.add(mChar4);
            txtCharArr.add(mChar5);
            txtCharArr.add(mChar6);
            txtCharArr.add(mChar7);
            txtCharArr.add(mChar8);
            txtCharArr.add(mChar9);
            txtCharArr.add(mChar10);
            txtCharArr.add(mChar11);
            txtCharArr.add(mChar12);
            StringBuilder sb = new StringBuilder();
            for(i=0;i<getInput.length();i++) {
                if(getInput.equals(Character.toString(word.charAt(i)))) {
                    txtCharArr.get(i).setText(Character.toString(word.charAt(i)));
                    sb.append(Character.toString(word.charAt(i)));
                }
            }
        }
    }
}

person Zeebats    schedule 14.03.2013    source источник


Ответы (1)


Я думаю, что вместо word.length() вы используете getInput.length()

for(i=0;i<getInput.length();i++) {
                if(getInput.equals(Character.toString(word.charAt(i)))) {
                    txtCharArr.get(i).setText(Character.toString(word.charAt(i)));
                    sb.append(Character.toString(word.charAt(i)));
                }
            }

Следовательно, вы зациклитесь только один раз и проверите getInput только для первого символа word, то есть s.

person Archie.bpgc    schedule 14.03.2013
comment
Пробовал, но результат тот же - person Zeebats; 14.03.2013
comment
Теперь я вижу это, я чувствую себя довольно глупо. Потратил один день на поиск ответов. Спасибо большое. ха-ха - person Zeebats; 14.03.2013