2017-07-25 14 views
0

SharedPreferencesを使用して値の一覧を格納していますか?私が必要とするのはSharedPreferences.Belowから特定の値を削除することです。私のコードは削除するために使用しています。しかし、それは動作しません。共有優先度から特定の値を削除する方法

prefs= DetailActivity.this.getSharedPreferences("itemFKID",Context.MODE_PRIVATE); 
         edit=prefs.edit(); 
         //edit.clear(); 
         edit.remove(itemFkId); 
         edit.commit(); 

以下は、edit.remove()コンパイル後も値を含むスクリーンショットです。ここで Debugging Image

SharedPreferences.Editorのドキュメントは、あなたの質問に関連する2つのビットがあるSharedPreferences

prefs= DetailActivity.this.getSharedPreferences("itemFKID",Context.MODE_PRIVATE); 
       edit=prefs.edit(); 

       for (int i = 0; i < Config.favouritesList.size(); i++) { 
        edit.putString("itemFKIDValue" +i, Config.favouritesList.get(i)); 
       } 
       edit.putInt("itemFKIDLength", Config.favouritesList.size()); 
       edit.commit(); 
+0

リストまたはリスト全体を削除しようとしていますか? – Derek

+0

リストからアイテムを削除しようとしています – Siva

+0

まず、あなたのハッシュマップを取得し、そこからIDを削除してから新しいマップを再保存する必要があります。 – Derek

答えて

1

最後に間違いが見つかりました。 remove()で渡されたキーが間違っています。 edit.remove(itemFKIDValue)の代わりにedit.remove(itemFkID)を使用しました。時間を過ごしてくれてありがとう。

1

に値を挿入しています:エディタであなたが作るすべての変更がバッチ処理される

をし、 commit()またはapply()を呼び出すまで元のSharedPreferencesにコピーされません。

そして

バックの好みにコミットするときに、すべての削除は関係なく、あなたはあなたがステップオーバーする必要があります。このエディタ

に置く方法の前または後に削除と呼ばれるかどうかに、最初に行われcommit()が呼び出され、値が削除されます。

+0

ありがとうございます。これで問題は発生します。@ Ben P. – Siva

+0

SharedPreferencesにアイテムを挿入するコードを投稿できますか? –

+0

私はqustionで追加しました – Siva

関連する問題