/ / Comment initialiser l'écran des préférences lors de la première invocation? - Android, préférences partagées, préférences Android, activité de préférence, écran de préférences

Comment initialiser l’écran des préférences lors de la première invocation? - Android, préférences partagées, préférences Android, réactivité des préférences, écran de préférences

Je crois que je suis correctement initialisation des préférences à partir de XML. L'écran Mes préférences fonctionne également correctement et reflète les paramètres sélectionnés par l'utilisateur.

Cependant, premier En invoquant cet écran de préférences, aucun des paramètres n'est coché (case à cocher) ou sélectionné (liste). Ceci, bien sûr, déroute l'utilisateur car il ne reflète pas la valeur actuelle (par défaut / initiale).

Étant donné que tout ce que je fais pour appeler l'écran des préférences est

startActivity(new Intent(this, EditPreferences.class));

Et mon EditPreferences la classe contient uniquement:

  @Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
addPreferencesFromResource(R.xml.usersettings);
}

Je ne sais pas où ni comment lui dire de pré-initialiser l'affichage visuel avec le paramètre par défaut.

J'ai cette intuition que tout ce qui me manque est une seule ligne quelque part, mais je ne sais pas où: fichier XML? Remplacer une méthode dans EditPreferences? Autre?

Réponses:

1 pour la réponse № 1

Ne pouvez-vous pas définir la valeur par défaut dans le XML lui-même?

<CheckBoxPreference ...
android:defaultValue="true"
... />

1 pour la réponse № 2

Vous pouvez spécifier une valeur par défaut sur une préférence (dans votre mise en page XML par exemple):

<EditTextPreference android:defaultValue="whatever" />