Je crée une application dans laquelle l'utilisateur peut modifier l'image source de plusieurs ImageButtons et les enregistrer dans SharedPreferences. Voici mes méthodes pour obtenir et enregistrer les images:SharedPreferences Enregistrement
public int getImage(String item){
SharedPreferences pref = getActivity().getPreferences(Context.MODE_PRIVATE);
int id = pref.getInt(item, R.drawable.no_item);
return id;
}
public void saveImage(String item, int resourceId){
SharedPreferences starterSP = getActivity().getPreferences(Context.MODE_PRIVATE);
SharedPreferences.Editor edit = starterSP.edit();
edit.putInt(item, resourceId);
edit.apply();
}
Ces images sont stockées sous forme ID Drawable de, qui sont stockés sous forme de nombres entiers.
Cependant, quand j'ajouter un nouveau fichier d'image à mon dossier étirables et relancer l'application, toutes mes sources ImageButton existantes sont modifiées à une autre image dans mon dossier Drawable. Comment puis-je empêcher cela?
Si je comprends bien, imageNameFromPreferences est la clé que j'utilise pour stocker la valeur dans SharedPreferences et « drawable » est le nom réel (tel que « R.drawable.example »)? –
Non, vous devriez enregistrer juste 'example' dans' R.drawable.example', c'est-à-dire 'example' est votre nom' drawable'. – Wizard