我正在尝试从TextView
List
Strings
中设置文字。我可以看到LogCat
中的值,但是当我将其放入TextView
时,我得到0.可能是什么问题?
编辑我的List
不为空,我可以看到LogCat
!!
List<String> listResult = new ArrayList<String>();
// here i'm putting some data
if (listResult != null)
{
for (int i=0;i<listResult.size();i++)
{
Log.i("position",listResult.get(i)+"")//i can see the componnent of the list
textView1.setText(position+1+"");
textView3.setText(listResult.get(i)+"");//I'm getting 0
}
Log.i("*******","***************");
Log.i("position",listResult+"")//i can see the whole list
}
这是我得到的LogCat:
05-20 11:39:07.970: I/position(21761): 0
05-20 11:39:07.970: I/position(21761): 2
05-20 11:39:07.970: I/position(21761): 0
05-20 11:39:07.970: I/position(21761): 0
05-20 11:39:07.970: I/position(21761): 0
05-20 11:39:07.970: I/position(21761): 0
05-20 11:39:07.970: I/position(21761): 6
05-20 11:39:07.971: I/position(21761): 0
05-20 11:39:07.971: I/position(21761): 0
05-20 11:39:07.971: I/position(21761): 2
05-20 11:39:07.971: I/position(21761): 0
05-20 11:39:07.971: I/position(21761): 4
05-20 11:39:07.971: I/position(21761): 0
05-20 11:39:07.971: I/position(21761): 0
05-20 11:39:07.971: I/*******(21761): ***************
05-20 11:39:07.972: I/position(21761): [0, 2, 0, 0, 0, 0, 6, 0, 0, 2, 0, 4, 0, 0]
答案 0 :(得分:1)
您刚刚初始化了ArrayList
。您ArrayList
中没有任何内容。初始化后,您需要在ArrayList
中添加元素,如:
listResult.add("text1");
listResult.add("text2");
更新:尝试这种方式
textView1.setText(position+1);
textView3.setText(listResult.get(i));
答案 1 :(得分:1)
TextView
中获得0的原因是,当您致电setText()
时,它会设置替换之前设置的文本(如果有)。因此,在您的情况下,您只需获取最后一次迭代的结果,即0。为了在TextView
中显示整个列表,您应该使用{{3}向每次迭代中添加的新文本添加新文本。 }} 方法。 for loop
应如下所示:
for (int i=0; i < listResult.size(); i++) {
Log.i("position", listResult.get(i) + "")
textView1.append(String.valueOf(position+1));
textView3.append(listResult.get(i).toString() + " ");
}
答案 2 :(得分:0)
您迭代空列表(您的代码在该行中缺少=
):
List<String> listResult = new ArrayList<String>();
其中没有任何内容,所以一切都很好。