我已经在共享首选项中保存了自定义对象的ArrayList,如下所示:
SharedPreferences prefs = context.getSharedPreferences("prefName", Context.MODE_PRIVATE);
Editor editor = prefs.edit();
editor.putStringSet("myList", new Gson().toJson(arraylist).toString());
editor.apply();
通过这样做,一旦保存了值,但是当我从应用程序退出并重新启动并尝试保存新值时,旧值就消失了。
我知道如何保存旧值并添加新值?
我希望将所有值保存在同一个数组中并保持数组保存,以便在每次加载应用程序时显示值。
答案 0 :(得分:1)
从myList
阅读prefName
,将arraylist
附加到偏好设置中已保存的内容,将myList
写回首选项。
答案 1 :(得分:0)
此代码可能适合您。
SharedPreferences setting=context.getSharedPreferences("prefName", Activity.MODE_PRIVATE);
SharedPreferences.Editor edit=setting.edit();
edit.putStringSet("myList", new Gson().toJson(arraylist).toString());
edit.commit();
答案 2 :(得分:0)
我早些时候遇到过这个问题...使用泛型它会附加值而不是替换旧数据....