xXO-Hades-OXx Posté(e) 2 décembre 2010 Share Posté(e) 2 décembre 2010 Bonjour, Je pense que le titre est explicite mais je vais détailler.. Voilà dans mon application, j'ai une activity pour mes preferences. Dans cette activity, j'ai une listPreferences appelée"Style de Thème" et dans cette liste, j'ai trois items : - Défaut - Saphir - Rubis Ce que je voudrais faire, c'est qu'à la sélection d'un de ces items, un background s'applique à mon application mais je n'arrive pas à récupérer les items et à y appliquer le background associé.. import android.content.SharedPreferences; import android.content.SharedPreferences.OnSharedPreferenceChangeListener; import android.os.Bundle; import android.preference.Preference; import android.preference.Preference.OnPreferenceChangeListener; import android.preference.PreferenceActivity; import android.widget.Toast; public class MesPreferences extends PreferenceActivity implements OnSharedPreferenceChangeListener{ SharedPreferences pref; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); addPreferencesFromResource(R.xml.mespreferences); pref = getPreferenceManager().getSharedPreferences(); pref.registerOnSharedPreferenceChangeListener(this); Preference listpref = (Preference) findPreference("listThème"); listpref.setOnPreferenceChangeListener(new OnPreferenceChangeListener() { @Override public boolean onPreferenceChange(Preference preference, Object newValue) { return false; } }); } public void onSharedPreferenceChanged(SharedPreferences sharedPreferences,String key) { Toast.makeText(this, sharedPreferences.getString(key, ""), Toast.LENGTH_SHORT).show(); } } Si quelqu'un pouvait me donner le bout de code manquant svp ce serait sympathique ;) Lien vers le commentaire Partager sur d’autres sites More sharing options...
Sylvaner Posté(e) 3 décembre 2010 Share Posté(e) 3 décembre 2010 Exemple pour récupérer ta valeur dans ton "Activity" principale : SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this); String theme = prefs.getString("listeThème", "Défaut"); Je sais pas si c'est bien ça que tu veux mais voilà comment moi je fais. Mais les variables avec les accents c'est conseillé ? Lien vers le commentaire Partager sur d’autres sites More sharing options...
xXO-Hades-OXx Posté(e) 3 décembre 2010 Auteur Share Posté(e) 3 décembre 2010 Mais les variables avec les accents c'est conseillé ? Bah je ne sais pas trop mais j'ai modifié quand même par "listT".. Mais si je veux y associer un backrgound à cet item comment je fais car je lutte pour trouver cette solution depuis 2 jours au moins! Lien vers le commentaire Partager sur d’autres sites More sharing options...
Sylvaner Posté(e) 3 décembre 2010 Share Posté(e) 3 décembre 2010 String image = prefs.getString("listeThème", "Défaut"); ((ImageView) findViewById(R.id.tonImage)).setImageResource(((getResources().getIdentifier(image, "raw", "com.nomdetonpackage.opla")))); par exemple Lien vers le commentaire Partager sur d’autres sites More sharing options...
xXO-Hades-OXx Posté(e) 3 décembre 2010 Auteur Share Posté(e) 3 décembre 2010 Ok merci beaucoup mais à quoi correspond le "raw"? Lien vers le commentaire Partager sur d’autres sites More sharing options...
xXO-Hades-OXx Posté(e) 8 décembre 2010 Auteur Share Posté(e) 8 décembre 2010 Quelqu'un pourrait-il faire un tuto sur le sujet svp?? Lien vers le commentaire Partager sur d’autres sites More sharing options...
Recommended Posts
Archivé
Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.