Save/Read 共享首选项中的自定义数组列表

Save/Read Custom Arraylist in Sharedpreferences

我正在开发一个可以保存和阅读作业的应用程序,为了 "undone" 的进展,我想在共享首选项中保存我保存所有作业的 Arraylist。我希望你明白我的意思,提前致谢:)

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

}

你应该试试:

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

哪里

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