Android:String List中的变量总是返回0
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android:String List中的变量总是返回0相关的知识,希望对你有一定的参考价值。
我正试图在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]
答案
在TextView
中获得0的原因是,当你调用setText()
时,它会设置一个替换先前设置的文本(如果有的话)。因此,在您的情况下,您只需获得最后一次迭代的结果,即0。为了在TextView
中显示整个列表,您应该使用append()
方法向每次迭代中添加的新文本添加新文本。 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() + " ");
}
另一答案
你刚刚初始化了你的ArrayList
。你的ArrayList
什么都没有。初始化后,您需要在ArrayList
中添加元素,如:
listResult.add("text1");
listResult.add("text2");
更新:尝试这种方式
textView1.setText(position+1);
textView3.setText(listResult.get(i));
另一答案
迭代空列表(您的代码在该行中缺少=
):
List<String> listResult = new ArrayList<String>();
里面什么都没有,所以一切都很好。
以上是关于Android:String List中的变量总是返回0的主要内容,如果未能解决你的问题,请参考以下文章
如何将 List<Map<String,dynamic> 转换为 Dart 中的单个变量?
AJAX 将 JavaScript 字符串数组发布到 JsonResult 作为 List<string> 总是返回 Null?