Comment initier une ListPreference à l’une de ses valeurs

J’essaie de définir une valeur par défaut sur un élément ListPreference.

Voici un exemple de mon fichier preference.xml:

  

Les deux tableaux:

  every 5 minutes every 10 minutes every 15 minutes   300 600 900  

Lorsque j’entre dans l’activité de préférence, aucun élément de ListPreference n’est sélectionné. J’ai essayé de définir une valeur int comme 1 dans “android: defaultValue” pour sélectionner “10 minutes” mais cela ne fonctionne pas.

   

Une idée?

Vous devez spécifier la valeur . Donc, pour obtenir la première entrée sélectionnée par défaut, spécifiez defaultValue="300" dans votre exemple.

Est arrivé à être dans la même situation. Spécifier une valeur par défaut cohérente. Mais graphiquement n’a pas été sélectionné. J’ai effacé les données de l’application. Et puis ça a fonctionné comme prévu. Donc, un clair peut être utile au moment du dev lors de l’ajout de nouveaux éléments XxxPreference.

En plus de la réponse de Sven, vous devez appeler la méthode setDefaultValues ​​() dans l’activité de démarrage. Cela définira une fois toutes les valeurs par défaut.

 public class MainActivity extends Activity { protected void onCreate(final Bundle savedInstanceState) { // Set all default values once for this application // This must be done in the 'Main' first activity PreferenceManager.setDefaultValues(this, R.xml.preferences, false); ... } } 

S’il s’agit d’une valeur valide de la liste, réinstallez l’application. Ça va marcher.