Jump to content

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 ;)

Link to comment
Share on other 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é ?

Link to comment
Share on other 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!

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...