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 № 1Ne 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" />