Android:String List中的变量总是返回0

时间:2014-05-20 10:24:01

标签: android string textview

我正在尝试从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]

3 个答案:

答案 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>();

其中没有任何内容,所以一切都很好。