我正在使用 AsyncTask 调用Web服务,如下所示:
doInBackground()方法中的:
HttpClient httpClient=new DefaultHttpClient();
HttpGet httpGet=new HttpGet(URL);
HttpResponse httpResponse=httpClient.execute(httpGet);
HttpEntity httpEntity=httpResponse.getEntity();
Response=EntityUtils.toString(httpEntity);
postExecute()方法中的:
JSONObject jsonObject=new JSONObject(Response);
JSONArray jsonArray=jsonObject.getJSONArray("Table");
JSONObject jsonObject1=jsonArray.getJSONObject(1);
JSONObject jsonObject2=jsonArray.getJSONObject(2);
JSONObject jsonObject3=jsonArray.getJSONObject(3);
JSONObject jsonObject4=jsonArray.getJSONObject(4);
JSONObject jsonObject5=jsonArray.getJSONObject(5);
JSONObject jsonObject6=jsonArray.getJSONObject(6);
JSONObject jsonObject7=jsonArray.getJSONObject(7);
JSONObject jsonObject8=jsonArray.getJSONObject(8);
JSONObject jsonObject9=jsonArray.getJSONObject(9);
JSONObject jsonObject10=jsonArray.getJSONObject(10);
我不希望响应中的所有数据,只有两个值表示名称和主题
String textView1[]={jsonObject1.getString("Name"), jsonObject2.getString("Name"), jsonObject3.getString("Name"), jsonObject4.getString("Name"), jsonObject5.getString("Name"),jsonObject6.getString("Name"),jsonObject7.getString("Name"),jsonObject8.getString("Name"),jsonObject9.getString("Name"),jsonObject10.getString("Name"),jsonObject11.getString("Name"),jsonObject12.getString("Name")};
String textView2[]={jsonObject1.getString("Subject"), jsonObject2.getString("Subject"), jsonObject3.getString("Subject"), jsonObject4.getString("Subject"), jsonObject5.getString("Subject"),jsonObject6.getString("Subject"),jsonObject7.getString("Subject"),jsonObject8.getString("Subject"),jsonObject9.getString("Subject"),jsonObject10.getString("Subject"),jsonObject11.getString("Subject"),jsonObject12.getString("Subject")};
所有这些数据都绑定到列表。
这种方式我无法加载100个值,如何动态存储?或者如何循环?如何使用ArrayList ??
任何帮助??
答案 0 :(得分:1)
为什么不将它存储在ArrayList或HashMap中呢?
ArrayList<String> names = new ArrayList<String>();
for(int i = 0; i; i < jsonArray.size(); i++){
names.add(jsonArray.getJSONObject(i).getString("name"));
}
答案 1 :(得分:0)
ArrayList<String> Names = new ArrayList<String>();
ArrayList<String> Subject= new ArrayList<String>();
for(int i = 0; i; i < jsonArray.size()-1; i++) {
Names.add(jsonArray.getJSONObject(i).getString("Name").toString());
Subject.add(jsonArray.getJSONObject(i).getString("Subject").toString());
}
然后我们可以绑定到列表视图。