mac-ak47 Posté(e) 20 mai 2013 Share Posté(e) 20 mai 2013 PROBLEME RESOLU /O/ (Voir Edit) Bonjour ! J'ouvre ce topic car j'ai un problème avec la fonction getDefaultSharedPreferences, en effet elle ne me retourne pas la valeur de la clé demandée. Code de la Main activity qui bloque [...] public class MainActivity extends Activity{ public String messageTraduit =""; public int changeModeInt=2; public String theme = ""; @Override protected void onCreate(Bundle savedInstanceState) { SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this); theme = prefs.getString("THEME_APP", null); if(theme=="sombre"){ setTheme(android.R.style.Theme_Holo); } else if(theme=="clair"){ setTheme(android.R.style.Theme_Holo_Light); } [...] Mes préfèrences <?xml version="1.0" encoding="utf-8"?> <PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android" > <PreferenceCategory android:title="Apparence"> <ListPreference android:key="THEME_APP" android:dialogTitle="Choisissez un thême" android:entries="@array/liste_theme" android:entryValues="@array/liste_theme_valeur" android:title="Choisir un thême" /> </PreferenceCategory> </PreferenceScreen> Et enfin mon array <?xml version="1.0" encoding="utf-8"?> <resources> <array name="liste_theme"> <item>Clair</item> <item>Clair et bar d\'action sombre</item> <item>Sombre</item> </array> <array name="liste_theme_valeur"> <item>clair</item> <item>clair_sombre</item> <item>sombre</item> </array> </resources> J'essaye via cette clé de changer le thême de mon app mais il ne change pas du tout, est-ce que j'utilise mal la méthode getString(Strin key, Default); ? Je sais que le problème vient de là car si j'indique comme valeur pour le theme: theme = "sombre" //Au lieu de theme = prefs.getString("THEME_APP", null); Le thème change bien en Holo. Merci d'avance \o/ EDIT: En fait le problème vient du fait que pour comparer ma variable theme avec la couleur j'utilisais "==", alors qu'en Java il faut utiliser .equals(String string), Voilà o/ 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.