解析json并且我试图将textText设置为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]);
}
答案 0 :(得分:0)
你这里有一个无限循环;
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());
答案 1 :(得分:0)
使用这个家伙:)你没有连接所有字符串只是用这个
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 finaltext="";
for(int i=0;i>list.size();i++)
{
finaltext.concat(list.get(i));
}
tv1.setText(finaltext.trim());