web-dev-qa-db-fra.com

Vous utilisez un ListView pour créer un écran de paramètres dans Android?

Je développe ma première Android, et je voudrais créer un écran de paramètres.

J'aimerais que l'écran ait une apparence similaire à celle des écrans natifs des paramètres du téléphone et de l'écran natif "créer/modifier l'alarme". Ainsi, avec différents types d'éléments (définis statiquement) empilés verticalement avec une fine ligne entre eux.

Comment définir un tel écran?

Je comprends que je peux utiliser le ListView, mais cela semble être principalement destiné à servir des données dynamiques à l'aide d'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 case à cocher, certains avec deux lignes de texte, certains avec une icône) en créant mon propre ListAdapter et en remplaçant getView, mais cela semble exagéré. Dois-je utiliser un ListView à cet effet?

61
Tomas

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

Le plus évident est PreferenceActivity .

Vous pouvez définir toutes 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 un certain nombre de PreferenceScreen objets dans le code et remplissez-les avec Preference objets de cette façon.

La meilleure chose à faire serait de regarder l'application de démonstration d'API fournie avec l'API Android. Elle contient de nombreux bons exemples de gestion des préférences. Voici comment elle crée des préférences à partir du code et voici n exemple de fichier XML de préférences . Il existe d'autres exemples montrant des choses plus avancées comme les dépendances de préférences et les écouteurs de préférences.

121
Dave Webb

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

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

Modifier l'alarme implémente PreferenceActivity, mais Créer l'alarme est plus complexe (adaptateur de curseur personnalisé pour lister les alarmes).

Jetez un œil aux sources :

2
tbruyelle