/**解析json数据**/
JSONObject json = new JSONObject(location);
/**接收/获取JSON对象里的数组provinces*/
JSONArray data = json.optJSONArray("provinces");
/**下面是获取省市**/
for (int i = 0; i < data.length();i++) {
JSONObject data1 = data.getJSONObject(i++);
JSONObject data2 = data.getJSONObject(i++);
JSONObject data3 = data.getJSONObject(i++);
JSONObject data4 = data.getJSONObject(i++); String location_S1 = data1.getString("name");
String location_S2 = data2.getString("name");
String location_S3 = data3.getString("name");
String location_S4 = data4.getString("name");
Location_get_set location_s = new Location_get_set();
location_s.setProvinceName1(location_S1);
location_s.setProvinceName2(location_S2);
location_s.setProvinceName3(location_S3);
location_s.setProvinceName4(location_S4);
popup_list.add(location_s);
上面代码能拿到JSON数据中1,2 ,3,4位置的值;并在BaseAdapter适配器一行中的TextView1,TextView2.TextView3,TextView4中也能赋值;也可以在UI显示了,可问题是当BaseAdapter适配器给第二行赋值时应该从5,6,7,8,位置取值走,结果在for循环中是从6 7 8 9位置取出的,请求大神们邦我改改这个循环那么来设计,才能拿到5位置上的值,我把for循环中最后一个i++改成i后,更是一个结果都取不出来,求~~~~~~~~··
JSONObject json = new JSONObject(location);
/**接收/获取JSON对象里的数组provinces*/
JSONArray data = json.optJSONArray("provinces");
/**下面是获取省市**/
for (int i = 0; i < data.length();i++) {
JSONObject data1 = data.getJSONObject(i++);
JSONObject data2 = data.getJSONObject(i++);
JSONObject data3 = data.getJSONObject(i++);
JSONObject data4 = data.getJSONObject(i++); String location_S1 = data1.getString("name");
String location_S2 = data2.getString("name");
String location_S3 = data3.getString("name");
String location_S4 = data4.getString("name");
Location_get_set location_s = new Location_get_set();
location_s.setProvinceName1(location_S1);
location_s.setProvinceName2(location_S2);
location_s.setProvinceName3(location_S3);
location_s.setProvinceName4(location_S4);
popup_list.add(location_s);
上面代码能拿到JSON数据中1,2 ,3,4位置的值;并在BaseAdapter适配器一行中的TextView1,TextView2.TextView3,TextView4中也能赋值;也可以在UI显示了,可问题是当BaseAdapter适配器给第二行赋值时应该从5,6,7,8,位置取值走,结果在for循环中是从6 7 8 9位置取出的,请求大神们邦我改改这个循环那么来设计,才能拿到5位置上的值,我把for循环中最后一个i++改成i后,更是一个结果都取不出来,求~~~~~~~~··
这要看你需求是怎样了,你现在每个循环i++,5次 第一次0,1,2,3,4;第二次 5,6,7,8,9 。你第一次0不取,第二次5当然也取不到咯。你可以把第一次取值单独放在循环外,循环内从5开始取值。如果是每次取4个值,把i=0改为i=1, JSONObject data4 = data.getJSONObject(i++);改为 JSONObject data4 = data.getJSONObject(i);