共享偏好中保存/读取自定义Arraylist

时间:2016-06-01 15:43:39

标签: java android arraylist sharedpreferences listmodel

我正在开发一个可以保存和阅读家庭作业的应用程序,因为我想要保存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;
}

}

1 个答案:

答案 0 :(得分:0)

你应该尝试:

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

,其中

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