2010-01-08 2 views
61

Je développe ma première application Android, et j'aimerais créer un écran de paramètres. Je voudrais que l'écran ait un aspect similaire à celui des écrans de paramètres de téléphone natifs et de l'écran natif "créer/éditer l'alarme". Ainsi, avec différents types d'éléments (statiquement définis) empilés verticalement avec une fine ligne entre eux.L'utilisation d'un ListView pour créer un écran de paramètres sous Android?

Comment définir un tel écran? Je comprends que je peux utiliser ListView, mais cela semble être principalement destiné à servir des données dynamiques en utilisant un ListAdapter, où chaque élément est servi dans le même format. Il semble possible de créer différents éléments (c'est-à-dire, certains avec une case à cocher, d'autres avec deux lignes de texte, certains avec une icône) en créant mon propre ListAdapter et en surchargeant getView, mais cela semble être trop. Dois-je utiliser un ListView à cette fin?

Répondre

120

Il n'est pas nécessaire de créer et de mettre en forme manuellement un ListView - il existe des moyens dans l'API pour créer des écrans de préférences.

La plus évidente est PreferenceActivity.

Vous pouvez définir vos préférences dans un fichier XML, un peu comme une mise en page, puis les charger avec addPreferencesFromResource() ou vous pouvez créer plusieurs PreferenceScreen objets dans le code et les remplir avec Preference objets de cette façon. La meilleure chose à faire serait de regarder l'application API Demos fournie avec l'API Android. Cela contient beaucoup de bons exemples de gestion des préférences. Voici how it creates preferences from code et voici a sample preferences XML file. Il existe d'autres exemples montrant des choses plus avancées comme les dépendances de préférences et les auditeurs de préférences.

+1

Merci! J'ai raté celui-là. – Tomas

+0

Très bien, merci! – Kon

+2

Les préférences du lien de code doivent être mises à jour à: http://developer.android.com/resources/samples/ApiDemos/src/com/example/android/apis/preference/PreferencesFromCode.html – beetstra

2

En fait, dans l'application d'alarme intégrée, pour modifier et créer alarmes, il y a deux activités, l'une pour créer et un pour modifier.

L'activité Créer une alarme est la première activité avec l'horloge numérique. L'activité Modifier l'alarme est lancée en cliquant sur une alarme répertoriée dans l'activité Créer une alarme.

Modifier alarme implémente PreferenceActivity, mais Créer une Alarme est plus complexe (adaptateur curseur personnalisé à la liste des alarmes).

Jetez un oeil à la sources:

Questions connexes