2017-07-25 4 views
0

Utilisez SharedPreferences pour stocker la liste de valeurs. Ce dont j'ai besoin est de supprimer la valeur spécifique de SharedPreferences.Below est mon code que j'utilise pour supprimer. Mais ça ne marche pas.Comment supprimer des valeurs spécifiques de la préférence partagée

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

Ci-dessous Capture d'écran qui contient des valeurs, même après edit.remove() compile. Debugging Image

ici am insérer des valeurs dans 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

Etes-vous en train d'essayer de supprimer et d'élément de la liste ou de la liste entière? – Derek

+0

Essayer de supprimer un élément de la liste – Siva

+0

Vous devrez d'abord récupérer votre hashMap, en retirer l'identifiant, puis réenregistrer la nouvelle carte. – Derek

Répondre

1

Enfin trouvé l'erreur. La clé passée dans remove() est erronée. Au lieu de edit.remove (itemFKIDValue) j'ai utilisé edit.remove (itemFkID). Merci pour le moment les gars.

1

La documentation SharedPreferences.Editor a deux bits qui sont pertinents à votre question:

Toutes les modifications apportées dans un éditeur sont traités par lots, et pas recopié aux SharedPreferences d'origine jusqu'à ce que vous appeliez commit() ou apply()

Et

lors de la validation de retour aux préférences, tous les prélèvements sont fait d'abord, que vous avez appelé supprimer avant ou après les méthodes de vente sur cet éditeur

vous donc devez enjamber l'appel commit() avant de voir la valeur supprimée.

+0

Merci. Maintenant, j'ai mis à jour mon Image Screenshot .. Encore le problème se produit. @ Ben P. – Siva

+0

Pouvez-vous poster le code où vous insérez l'élément dans vos SharedPreferences? –

+0

J'ai ajouté dans la requête – Siva