解析json,我试图setText一个textview做我的数组中的所有元素。显然我在这里做错了,希望能对您有所帮助。
TextView tv1 = (TextView) findViewById(R.id.textView1);
TextView tv2 = (TextView) findViewById(R.id.textView2);
try {
String buildings = getJSON("http://iam.colum.edu/portfolio/api/course?json=True");
//JSONObject jsonObject = new JSONObject(buildings);
JSONArray queryArray = new JSONArray(buildings);
//queryArray = queryArray.getJSONArray(0);
List<String> list = new ArrayList<String>();
for (int i=0; i<queryArray.length(); i++) {
list.add( queryArray.getString(i) );
}
String text = list.get(0).toString();
String arr[] = text.split(" ");
arr[0] = arr[0].trim();
for(int i=0;i>queryArray.length();++i)
{
tv1.setText(list[i]);
}
最佳答案
你在这里有一个无限循环;
for(int i=0;i>queryArray.length();++i)
{
tv1.setText(list[i]);
}
此外,每次运行循环时,以上代码段都会在textview的列表中显示一行。它不会在textview上追加文本。尝试对代码进行一些优化,以使您可以在一个循环中完成任务。
StringBuilder sb = new StringBuilder();
for (int i=0; i<queryArray.length(); i++) {
// chain each string, separated with a new line
sb.append(queryArray.getString(i) + "\n");
}
// display the content on textview
tv1.setText(sb.toString());
参考:StringBuilder - Android documentation
关于java - 如何设置我的textview以显示我的json数组中的所有元素,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/22191554/