Aller au contenu

Comment récupérer l'item d'une listPreferences ?


xXO-Hades-OXx

Recommended Posts

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

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

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

Archivé

Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.

×
×
  • Créer...