1

カスタムオブジェクトのArrayListを次のような共有設定に保存しました。

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

これを行うことにより、値が保存されると、アプリを終了して再起動し、新しい値を保存しようとすると、古い値は失われます。
古い値を保存して新しい値を追加するにはどうすればよいですか?
すべての値を同じ配列に保持し、アプリが読み込まれるたびに値を表示するように配列を保存したいと思います。

4

3 に答える 3

1

myListから読み取り、設定に既に保存されているものにprefName追加し、設定に書き戻します。arraylistmyList

于 2013-03-06T08:47:27.273 に答える
0

このコードはあなたのために働くかもしれません。

 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-06T09:10:59.990 に答える
0

私は以前にこの問題に直面しました...ジェネリックを使用すると、古いデータを置き換えるのではなく、値が追加されます....

于 2013-03-06T12:20:15.450 に答える