请教高手!为何在Log中的我数据都显示出来了,可是在.setText()中只显示最后一条数据?

============问题描述============java


作了一个解析百度天气JSON数据的功能,results里面用的是GSON解析。如今在Log里面显示数据已经解析出来了,可是在TextView界面.setText()上数据只能显示最后一条,这是为何啊?

List<WeatherInfo.index> myIndex = weatherInfo.getIndex();

for (index in : myIndex) {

	Log.i(TGA, "Des = " + in.getTipt() + ":" + in.getDes());

	indexContent.setText(in.getTipt() + ":" + in.getDes() + "\n");

}

============解决方案1============app


每循环一次textview的文本就从新set了一遍,不是显示最后set的那条文本那显示什么。。

============解决方案2============blog


弄一个 StringBuffer做为全局变量,而后每次有新东西的时候 append, 最后 setText(buffer.toString())

不过估计你不会喜欢这种,仍是建议使用 ListView, 将你读取到的数据解析后实体化,而后使用适配器显示

============解决方案3============ip

3楼的方法能够这么改:String str = ""; for(index in : myIndex){      str += (in.getTipt() + ":" + in.getDes() + "\n"); } indexContent.setText(str);
相关文章
相关标签/搜索