Search code examples
javaandroidarraylistsharedpreferenceslistmodel

Save/Read Custom Arraylist in Sharedpreferences


I'm working on a app where you can save and read homeworks, for the "undone" progress I want to save the Arraylist, where I saved all homeworks, in the Shared Preferences. I hope you know what I mean, thanks in advance :)

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;
}

}


Solution

  • You should try :

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

    where

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