Aller au contenu

getDefaultSharedPreferences ne marche pas


Recommended Posts

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

Archivé

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

×
×
  • Créer...