我正在尝试将Arraylist添加到文本视图但是在将其添加到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”
答案 0 :(得分:4)
textview1.setText(a [i]); =&GT; textview1.setText(a.get(I));
或类似的东西:
for(Integer i : a) textview1.setText(i);
我不知道这将产生任何类型的所需功能,第4行将覆盖第3行,第3行的每次迭代都将覆盖前一个。循环执行后,你将在textview1中得到*。
答案 1 :(得分:3)
您将需要使用ArrayList的get(index)操作。即a.get(i)。
如果您希望看到1 * 2 * 3 * 4 ..等...在textview中打印为文本。您需要将所有这些整数附加到一个字符串中。例如:
String s = "";
for (int i = 0; i < a.size(); i++) {
s += a.get(i) + "*";
}
textview1.setText(s);
答案 2 :(得分:0)
您可以使用append
textview
方法
for (int i=0;i<a.size();i++){
textview1.append(a.get(i) + "*");
}
答案 3 :(得分:0)
ArrayList<Integer> a = new ArrayList<Integer>();
for(String i : a)
textview1.append(i + "\n\n");
答案 4 :(得分:-1)
您可以使用short hand method迭代列表:
ArrayList<Integer> a = new ArrayList<Integer>();
for (Integer i : a) {
textview1.setText(Integer.toString(i) + "*");
}