商店,ArrayList对象
我已经在共享偏好保存的自定义对象的ArrayList是这样的:商店,ArrayList对象
SharedPreferences prefs = context.getSharedPreferences("prefName", Context.MODE_PRIVATE);
Editor editor = prefs.edit();
editor.putStringSet("myList", new Gson().toJson(arraylist).toString());
editor.apply();
这样一来,一旦值被保存,但是当我从应用程序退出并重新启动,并尝试保存新的价值观然后旧的价值观消失了。
任何想法如何保存旧值并追加新值?
我想保留在同一个数组中的所有值,并保持数组保存,以显示每次应用程序加载时的值。
从prefName
读取myList
,将arraylist
附加到已保存在偏好设置中的内容,将myList
回写到偏好设置。
好的男人我执行此..谢谢 – Noman 2013-03-06 08:49:56
此代码可能适合您。
SharedPreferences setting=context.getSharedPreferences("prefName", Activity.MODE_PRIVATE);
SharedPreferences.Editor edit=setting.edit();
edit.putStringSet("myList", new Gson().toJson(arraylist).toString());
edit.commit();
只要你想改变的价值把这个代码的方法。再次调用该方法。 – 2013-03-06 09:13:38
我真的想知道谁回答了这个问题,因为它什么都不做,只是用'commit()'替换'apply()',这肯定不是问题的原因。恰恰相反,它甚至可以在UI线程上创建性能。 – 2013-03-06 09:40:01
其工作在我的情况。 – 2013-03-06 09:48:04
自然的旧值将会消失。如果您需要追加,那么您需要阅读原始文件,追加新文件并保存。 – 2013-03-06 08:41:19
@AleksG ..好的男人我执行此..谢谢 – Noman 2013-03-06 08:49:06