我试图让 jsonobject 进入下一个屏幕列表视图。我可以在 listview 中获取 1 个值,但我有多个值要获取。我能怎么做。
这是我从服务器获取字符串的代码:-
List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(2);
nameValuePairs.add(new BasicNameValuePair("Get_Friend_List", holder
.toString()));
httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
StringEntity se = new StringEntity(holder.toString());
se.setContentType(new BasicHeader(HTTP.CONTENT_TYPE,
"application/json"));
httppost.setEntity(se);
HttpResponse response = httpclient.execute(httppost);
resp = response.toString();
String t = EntityUtils.toString(response.getEntity());
try {
JSONArray get_string1 = new JSONArray(t);
JSONObject get_string = null;
// Receive the JSON object from server
String userid = (String) get_string.get("UserId");
String totalusers = (String) get_string.get("TotalUsers");
String SessionID = (String) get_string.get("SessionID");
for (int i = 0; i < get_string1.length(); i++) {
get_string = get_string1.getJSONObject(i);
JSONObject contact = (JSONObject) get_string
.get("contacts-" + i);
String contact_id = (String) contact.get("UserId");
contact_username = (String) contact.get("UserName");
contact_status = (String) contact.get("Status");
Contacts.setStatus(contact_status, i);
Contacts.setUserName(contact_username, i);
}
} catch (JSONException e) {
e.printStackTrace();
System.out.println("--error--" + e.getMessage());
}
} catch (ClientProtocolException e) {
Log.e(TAG, e.toString());
} catch (IOException e) {
Log.e(TAG, e.toString());
}
}
这是我得到的服务器的响应。但仅在列表视图中存储最后一个值。
Response from Server----{
"UserId": "1",
"TotalUsers": "4",
"contacts-0": {
"UserId": "3",
"UserName": "kumar",
"Status": "1"
},
"contacts-1": {
"UserId": "2",
"UserName": "rahul",
"Status": "1"
},
"contacts-2": {
"UserId": "4",
"UserName": "vlk",
"Status": "1"
},
"contacts-3": {
"UserId": "5",
"UserName": "vlk",
"Status": "1"
},
"SessionID": "39355"
}
联系人.java
public class Contacts {
public static String[] status = new String[100];
public static String[] usrname = new String[100];
public static String getStatus(int i) {
return status[i];
}
public static String getUserName(int i) {
return usrname[i];
}
public static void setStatus(String status, int i) {
Contacts.status[i] = status;
}
public static void setUserName(String username, int i) {
Contacts.usrname[i] = username;
}
}