I have this arraylist and another for hashmap
ArrayList<HashMap<String, String>> agentList = new ArrayList<HashMap<String, String>>();
HashMap<String, String> agentproperty = new HashMap<String, String>();
I have received jArray from php file. and trying to put it in the array using hashmap.
JSONArray jArray = jsonObj.getJSONArray(TAG_AGENT);
String id = null;
String name = null;
for (int i = 0; i < jArray.length(); i++) {
JSONObject a = jArray.getJSONObject(i);
id = a.getString(TAG_AGENTID);
name = a.getString(TAG_NAME);
agentproperty.put("AGENTID", id);
agentproperty.put("NAME", name);
Log.d("id",id);
Log.d("name",name);
agentList.add(agentproperty);
}
Log.d("firstperson",String.valueOf(agentList.get(0)));
Log.d("secondperson",String.valueOf(agentList.get(1)));
I can get
id 1, hame cathy; id 2, name john
for the log inside loop. But from the last log, I am getting
id 2, name john; id 2, name john It seems the value of agentproperty is changed even after adding in arraylist. I tried taking the agentList.add(agentproperty); outside of loop. Didnt work. Only inserts the last value (id 2, name john). Any idea how can i populate this array with all the values I get from loop. I will need to use agentList in listview.