Android ArrayList TextView在setText之后不显示文本

时间:2013-03-14 09:41:10

标签: android arraylist textview show settext

您好我在制作应用时遇到了一些问题但无法在任何地方找到答案。 我有一个EditText用于用户输入。我有一个String字,我有一个带有TextViews的ArrayList。 我想根据用户输入是否等于字符串中的字符来设置TextView的文本。如果字符相等,则必须在右侧TextView中显示。 现在的问题是,如果我输入一个与单词中的字符匹配的字符,它就不会向我显示任何内容,即使我想在另一个TextView中显示StringBuilder它看起来像是空的。

我有这个:

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)));
                }
            }
        }
    }
}

1 个答案:

答案 0 :(得分: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 ,仅检查的第一个字符,即 s