存储自定义对象的Arraylist

时间:2013-03-06 08:39:05

标签: android json arraylist

我已经在共享首选项中保存了自定义对象的ArrayList,如下所示:

SharedPreferences prefs = context.getSharedPreferences("prefName", Context.MODE_PRIVATE);
Editor editor = prefs.edit();
editor.putStringSet("myList", new Gson().toJson(arraylist).toString());
editor.apply();  

通过这样做,一旦保存了值,但是当我从应用程序退出并重新启动并尝试保存新值时,旧值就消失了。
我知道如何保存旧值并添加新值? 我希望将所有值保存在同一个数组中并保持数组保存,以便在每次加载应用程序时显示值。

3 个答案:

答案 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)

我早些时候遇到过这个问题...使用泛型它会附加值而不是替换旧数据....