如何将字符串设置为数组中的随机Textview?

时间:2019-01-15 15:29:36

标签: java android arrays textview

我正在使用数据库构建应用程序。该数据库包含Textview的字符串。我有6个textview,其中3个为空。用户插入带有Edittext的文本,并将该文本与另外3个字符串进行比较,如果正确,则进入空白textview。

    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构建一个带有空textviews的数组。现在,我试图用文本填充空的textviews。如何在不知道哪个文本为空的情况下将文本放入Textview?我尝试过

  

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

但不起作用。出来

E / AndroidRuntime:致命例外:主要。 java.lang.IndexOutOfBoundsException:索引:0,大小:0

1 个答案:

答案 0 :(得分:0)

您收到的错误告诉您tL2为空。我猜您想将textViews中的文本与一个空字符串进行比较,因此您应该修改代码,使其看起来像这样:

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

此外,最好在使用第一个元素之前检查tL2是否内部包含元素,所以我将最后一段代码修改如下:

if (tL2.size()>0)
    tL2.get(0).setText(a);