Propriété de Albiri Sigue
customer 27921 at Fri Mar 11 19:19:45 +0100 2011
Chapitre 9
S’amuser avec les listes 105
Comme le montre la Figure 9.5, les résultats sont identiques à ceux de RateListDemo,
sauf que les mots ayant la note maximale n’apparaissent plus en majuscules.
La différence est la réutilisabilité. Nous pourrions créer un paquetage JAR de RateListView
et l’insérer dans n’importe quel projet Android qui en a besoin. Par conséquent, bien que
RateListView soit un peu plus compliquée à écrire, il ne faut plus le faire qu’une seule
fois et le reste du code de l’application est merveilleusement simple.
Cette classe RateListView pourrait, bien sûr, proposer des fonctionnalités supplémentaires, comme la possibilité de modifier par programmation l’état des barres (en mettant à
jour le tableau de float et la RatingBar elle-même), autoriser l’appel d’un autre code
lorsque l’état d’une barre est modifié (via une fonction de rappel), etc. Nous les laissons en
exercice au lecteur.
Adapter d’autres adaptateurs
Toutes les classes adaptateurs peuvent suivre le modèle de conception consistant à redéfinir
getView() pour créer les lignes de la liste.
Cependant, CursorAdapter et ses sous-classes fournissent une implémentation par défaut
de getView(), qui inspecte la View qui lui est passée en paramètre pour la recycler et
appelle newView() si elle est null, ou bindView() dans le cas contraire. Si vous étendez
CursorAdapter, qui sert à afficher le résultat d’une requête adressée à une base de
données ou à un fournisseur de contenu, il est donc préférable de redéfinir newView() et
bindView() plutôt que getView().
Figure 9.5
L’application
RateListViewDemo.
Livre Android.book Page 105 Dimanche, 8. novembre 2009 12:23 12
customer 27921 at Fri Mar 11 19:19:45 +0100 2011
Chapitre 9
S’amuser avec les listes 105
Comme le montre la Figure 9.5, les résultats sont identiques à ceux de RateListDemo,
sauf que les mots ayant la note maximale n’apparaissent plus en majuscules.
La différence est la réutilisabilité. Nous pourrions créer un paquetage JAR de RateListView
et l’insérer dans n’importe quel projet Android qui en a besoin. Par conséquent, bien que
RateListView soit un peu plus compliquée à écrire, il ne faut plus le faire qu’une seule
fois et le reste du code de l’application est merveilleusement simple.
Cette classe RateListView pourrait, bien sûr, proposer des fonctionnalités supplémentaires, comme la possibilité de modifier par programmation l’état des barres (en mettant à
jour le tableau de float et la RatingBar elle-même), autoriser l’appel d’un autre code
lorsque l’état d’une barre est modifié (via une fonction de rappel), etc. Nous les laissons en
exercice au lecteur.
Adapter d’autres adaptateurs
Toutes les classes adaptateurs peuvent suivre le modèle de conception consistant à redéfinir
getView() pour créer les lignes de la liste.
Cependant, CursorAdapter et ses sous-classes fournissent une implémentation par défaut
de getView(), qui inspecte la View qui lui est passée en paramètre pour la recycler et
appelle newView() si elle est null, ou bindView() dans le cas contraire. Si vous étendez
CursorAdapter, qui sert à afficher le résultat d’une requête adressée à une base de
données ou à un fournisseur de contenu, il est donc préférable de redéfinir newView() et
bindView() plutôt que getView().
Figure 9.5
L’application
RateListViewDemo.
Livre Android.book Page 105 Dimanche, 8. novembre 2009 12:23 12
