2014-09-29 2 views
-2

С помощью классов сеттеров и геттеров я устанавливаю значения MusicDetailsObject(pojo class), когда устанавливаю первое значение, которое оно установлено, затем устанавливает второе значение, которое установлено, а также заменяет первое значение и т. Д. ...... значения уставок с использованием цикла:С помощью сеттеров в классе модели Сохраненные данные сохраняются повторно?

for(int k=0;k<songs.length();k++) 
       { 
       JSONObject songObject = songs.getJSONObject(k); 
       //mName.add(songObject.getString("name")); 
       mObject.setmName(songObject.getString("name")); 
       //mURL .add(songObject.getString("url")); 
       mObject.setmURL(songObject.getString("url")); 
       //mListId .add(songObject.getString("id")); 
       mObject.setmID(songObject.getString("id")); 
       mAlbumList.add(mObject); 
       } 

первые установки значения времени как

array1{id = 101 
name = Jigarthanda} 

При установке значения второй раз, когда он показывает, как это:

array1{id = 102 
name = Mundasupatti}, array1{id = 102 
name = Mundasupatti} 

так, пожалуйста, дайте мне знать, как установить индивидуальное значение.

Заранее спасибо.

ответ

2

Проблема заключается в том, что внутри цикла вы никогда не создаете новый экземпляр mObject, поэтому единственный экземпляр, который у вас есть, используется повторно.

for(int k=0;k<songs.length();k++){ 
    JSONObject songObject = songs.getJSONObject(k); 
    mObject = new MyObject() // -> NOW you are assigning values to a different instance. 
    //mName.add(songObject.getString("name")); 
    mObject.setmName(songObject.getString("name")); 
    //mURL .add(songObject.getString("url")); 
    mObject.setmURL(songObject.getString("url")); 
    //mListId .add(songObject.getString("id")); 
    mObject.setmID(songObject.getString("id")); 
    mAlbumList.add(mObject); 
}