2012-02-22 2 views
0

Я извлекаю информацию о местах из моей базы данных. После их возвращения я хочу сохранить их в ArrayList (который является «ArrayList of Places», однако каждый раз, когда записывается новая запись, он также перезаписывает предыдущие записи. Я тестирую его, печатая журнал. является сегмент кодов: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 
+0

Кажется, что-то проблема в методе setPlace или в области свойств, написанных этим методом. Не могли бы вы добавить код класса «Места»? –

+1

Спасибо, его решили. Глупая мелочь! Лол. – DroidMatt

ответ

4

Я предположил бы, что у вас есть static поля вместо полей экземпляра в ваш класс Places. Удалите модификатор static:

class Places { 
    static int id; 
} 

например:

class Places { 
    int id; 
} 
+0

U ДРУГ, СПАСИБО! – DroidMatt

+0

@ Хирально мне нужно подождать некоторое время, чтобы принять ._. – DroidMatt

0

может быть вы хотите сохранить петлю выхода из стороны петли, где вы добавить в список.

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()); 
       } 
Смежные вопросы