我从我的数据库中检索有关位置的信息。在取回它们之后,我想将它们存储到一个ArrayList(它是“地址的ArrayList”),但是,每次写入新条目时,它都会覆盖之前的条目。我正在通过打印日志来测试它。是代码段:Android:ArrayList旧条目被新条目覆盖
response = CustomHttpClient.executeHttpPost("http://www.testing.com
/requestPlaces.php", postParameters);
JSONArray jArray = new JSONArray(response);
for(int i = 0; i < jArray.length() ; i++)
{
Places place = new Places();
JSONObject jObj = jArray.getJSONObject(i);
place.setPlace(
jObj.optString("placeID"),
jObj.optString("placeName"),
jObj.optString("placeType"),
jObj.optString("placeLat"),
jObj.optString("placeLng"),
jObj.optString("placePict"),
jObj.optString("placeRegion"));
arrPlace.add(place);
for(int j = 0; j <= i ; j++)
{
Log.e("log_tag2", arrPlace.get(j).getPlaceID());
}
这是我的日志打印出来,显示了前一个条目已被覆盖:
02-22 16:30:26.538: E/log_tag2(6148): p0001
02-22 16:30:26.538: E/log_tag(6148): p0002
02-22 16:30:26.538: E/log_tag2(6148): p0002
02-22 16:30:26.538: E/log_tag2(6148): p0002
02-22 16:30:26.538: E/log_tag(6148): p0003
02-22 16:30:26.538: E/log_tag2(6148): p0003
02-22 16:30:26.538: E/log_tag2(6148): p0003
02-22 16:30:26.538: E/log_tag2(6148): p0003
02-22 16:30:26.538: E/log_tag(6148): p0004
02-22 16:30:26.538: E/log_tag2(6148): p0004
02-22 16:30:26.538: E/log_tag2(6148): p0004
02-22 16:30:26.538: E/log_tag2(6148): p0004
02-22 16:30:26.538: E/log_tag2(6148): p0004
它似乎是setPlace方法的某种问题,或者是由此方法写入的属性范围。你能否添加Places类代码? – 2012-02-22 08:46:59
谢谢,它解决了。愚蠢的小东西!大声笑。 – DroidMatt 2012-02-22 08:48:50