Ich muss Set in SharedPreference setzen, aber ich habe ein Problem.SharedPreferences putStringSet funktioniert nicht
wenn ich Schaltfläche klicken, werde ich von SharedPreference Set erhalten und Daten fügen Sie dann auf Set SharedPreference setzen, aber wenn wir Projekt zerstören und es wieder öffnen, die sharedPreference bekommt nur eine Saite in Set
SharedPreferences s = getSharedPreferences("db", 0);
Log.i("chauster", "1.set = "+s.getStringSet("set", new HashSet<String>()));
Button btn = (Button)findViewById(R.id.button1);
btn.setOnClickListener(new Button.OnClickListener() {
@Override
public void onClick(View v) {
SharedPreferences ss = getSharedPreferences("db", 0);
Set<String> hs = ss.getStringSet("set", new HashSet<String>());
hs.add(String.valueOf(hs.size()+1));
Editor edit = ss.edit();
edit.putStringSet("set", hs);
edit.commit();
SharedPreferences sss = getSharedPreferences("db", 0);
Log.i("chauster", "2.set = "+sss.getStringSet("set",
new HashSet<String>()));
}
});
wenn ich Projekt zuerst installieren, und I-Taste 4-mal klicken, drucken die logcat es
1.set = []
2.set = [1]
2.set = [2, 1]
2.set = [3, 2, 1]
2.set = [3, 2, 1, 4]
es wie Erfolg aussieht String in sharedPreference Set zu setzen, aber wenn ich App zerstören und es wieder öffnen, drucken die logcat es
es bedeutet nur eine Zeichenfolge in Set von sharedPreference, ich weiß nicht, was passiert ist? Bitte helfen Sie mir. Dank ~
Vielleicht sollten Sie meine Antwort akzeptieren, wie die akzeptierte ist falsch –