Initialiser les préférences à partir de XML dans l’activité principale

Mon problème est que lorsque je lance l’application et que l’utilisateur n’a pas ouvert mon PreferenceActivity , lorsque je les récupère, je n’obtiens aucune valeur par défaut définie dans mon fichier preference.xml.

fichier preference.xml:

     

Extrait de mon activité principale (méthode onCreate ):

  SharedPreferences appPreferences = PreferenceManager.getDefaultSharedPreferences(this); Ssortingng pref1 = appPreferences.getSsortingng("pref1", null); 

En résultat, je me retrouve avec une valeur null .

Dans onCreate() de votre Activity principale, appelez simplement la méthode PreferenceManager.setDefaultValues() .

 PreferenceManager.setDefaultValues(this, R.xml.preference, false); 

Cela lira votre fichier preference.xml et définira les valeurs par défaut définies ici. readAgain argument readAgain sur false , cela définira uniquement les valeurs par défaut si cette méthode n’a jamais été appelée auparavant. Vous n’avez donc pas à vous soucier de remplacer les parameters de l’utilisateur à chaque création de votre Activity .

Je serai bref 🙂

ssortingngs.xml (en fait, j’ai prefs.xml exclusivement pour les préférences):

 mypref blah 

preferences.xml :

 android:key="@ssortingng/pref_mypref_key" android:defaultValue="@ssortingng/pref_mypref_default" 

MyActivity.java :

 Ssortingng myprefVal = prefs.getSsortingng(getSsortingng(R.ssortingng.pref_mypref_key), getSsortingng(R.ssortingng.pref_mypref_default)); 

Votre appel à getSsortingng() a la valeur null comme second paramètre. Modifiez cette valeur pour qu’elle soit la valeur par défaut souhaitée.