D
Dakine
App-Anbieter (In-App)
- 4
Ich habe eine ArrayList (contentList) mit Strings, die ich in den SharedPreferences speichere. Dafür muss ich die ArrayList in eine LinkedHashSet umwandeln, da nur eine putStringSet-Methode besteht.
Wenn ich die LinkedHashSet wieder auslese und sie in eine ArrayList umwandle, ist sie in einer anderen Reihenfolge als ich sie gespeichert habe.
Speichern:
public void save(ArrayList<String> list) {
LinkedHashSet<String> hashSet = new LinkedHashSet<String>(list);
Editor editor = preferences.edit();
editor.putStringSet("list", hashSet);
editor.commit();
}
Lesen:
public void read() {
try {
contentList = new ArrayList<String>(preferences.getStringSet( "list", null));
}
catch (Exception e) {
e.printStackTrace();
}
}
Beispiel:
Eingabereihenfolge: 3,2,0,1
Ausgabereihenfolge: 3,2,1,0
Jemand eine Idee?
Wenn ich die LinkedHashSet wieder auslese und sie in eine ArrayList umwandle, ist sie in einer anderen Reihenfolge als ich sie gespeichert habe.
Speichern:
public void save(ArrayList<String> list) {
LinkedHashSet<String> hashSet = new LinkedHashSet<String>(list);
Editor editor = preferences.edit();
editor.putStringSet("list", hashSet);
editor.commit();
}
Lesen:
public void read() {
try {
contentList = new ArrayList<String>(preferences.getStringSet( "list", null));
}
catch (Exception e) {
e.printStackTrace();
}
}
Beispiel:
Eingabereihenfolge: 3,2,0,1
Ausgabereihenfolge: 3,2,1,0
Jemand eine Idee?
Zuletzt bearbeitet: