2

我正在尝试将 Arraylist 添加到 Text View 但它在将其添加到 TextView 时出现错误 Arraylist 的声明是:

    ArrayList<Integer> a=new ArrayList<Integer>();


    1.       int arraylistSize = a.size();

    2.       for(int i = 0; i < arraylistSize; i++){

    3.  textview1.setText(a[i]);

    4.  textview1.setText("*");

在第 3 行,它给出“表达式的类型必须是数组类型,但它解析为 ArrayList”

4

5 回答 5

4

一个 textview1.setText(a[i]); => textview1.setText(a.get(i));

或类似的东西:

for(Integer i : a) textview1.setText(i);

我看不出这将如何产生任何所需的功能,第 4 行将覆盖第 3 行,第 3 行的每次迭代都将覆盖前一个。循环执行后,您将在 textview1 中以 * 结束。

于 2013-08-14T19:48:42.023 回答
3

您将需要使用 ArrayList 的 get(index) 操作。ieaget(i)。

如果您希望看到 1*2*3*4..etc.. 在 textview 中打印为文本。您将希望将所有这些整数一起附加到一个字符串中。例子:

String s = "";
for (int i = 0; i < a.size(); i++) {
     s += a.get(i) + "*";
}
textview1.setText(s);
于 2013-08-14T19:52:53.700 回答
0

您可以使用该append方法textview

for (int i=0;i<a.size();i++){
textview1.append(a.get(i) + "*");
}
于 2018-03-21T10:50:36.413 回答
0
ArrayList<Integer> a = new ArrayList<Integer>();
for(String i : a)
   textview1.append(i + "\n\n");
于 2018-12-10T17:55:31.063 回答
-1

您可以使用迭代列表的简写方法,如下所示:

ArrayList<Integer> a = new ArrayList<Integer>();
for (Integer i : a) {
    textview1.setText(Integer.toString(i) + "*");
}
于 2013-08-14T19:50:16.503 回答