2016-06-01 15 views
0

Ich arbeite an einer App, wo Sie speichern und lesen können, für den "rückgängig gemacht" Fortschritt Ich möchte die Arraylist speichern, wo ich alle Hausaufgaben gespeichert, in den gemeinsamen Einstellungen. Ich hoffe, Sie wissen, was ich meine, danke im voraus :)Speichern/Lesen Benutzerdefinierte Arraylist in Sharedpreferences

HausaufgabenActivity.java:

ArrayList<Hausaufgabe> hausaufgabeList = new ArrayList<Hausaufgabe>(); 
    SharedPreferences.Editor editor; 

    if(!hausaufgabeList.contains(ha)){ 
     hausaufgabeList.add(ha); 
    } 
    //Set the values 
    Set<Hausaufgabe> set = new HashSet<Hausaufgabe>(); 
    set.addAll(hausaufgabeList); 
    editor.putString("AllHomeworks", set); 
    editor.commit(); 

Hausaufgabe.java:

public Hausaufgabe(String beschreibung, String DeviceID, String Abgabedatum, String Fach, String Erstellungsdatum){ 
    super(); 
    this.beschreibung = beschreibung; 
    this.DeviceID = DeviceID; 
    this.Abgabedatum = Abgabedatum; 
    this.Fach = Fach; 
    this.Erstellungsdatum = Erstellungsdatum; 
} 


public String getBeschreibung() { 
    return beschreibung; 
} 

public String getAbgabedatum() { 
    return Abgabedatum; 
} 

public String getFach() { 
    return Fach; 
} 

public String getDeviceID() { 
    return DeviceID; 
} 

public String getErstellungsdatum() { 
    return Erstellungsdatum; 
} 

}

Antwort

0

Sie sollten versuchen:

Set<Hausaufgabe> set = new HashSet<Hausaufgabe>(); 
set.addAll(hausaufgabeList); 
editor.putStringSet("AllHomeworks", set); 
editor.commit(); 

wo

editor.putString("AllHomeworks", set); -> editor.putStringSet("AllHomeworks", set); 
+0

es versucht, legte es sagt: editor.putSTRINGset (...), ich so etwas wie editor.putHausaufgabeSet benötigen würde (...) – rib

+0

Okay, nicht bemerkt, dass es wasn 't String in HashSet: D Sie sollten versuchen, es zu serialisieren. Dann speichern serialisierte Objekt als String in SharedPreference –

+0

https://github.com/apache/pig/blob/89c2e8e76c68d0d0abe6a36b4e08ddc56979796f/src/org/apache/pig/impl/util/ObjectSerializer.java Dann mSpEditor.putString ("AllHomeworks "ObjectSerializer.serialize (hausaufgabeList)); –