Propriété de Albiri Sigue
customer 27921 at Fri Mar 11 19:19:45 +0100 2011
Chapitre 8
Widgets de sélection 67
public View getView(int position, View convertView,
ViewGroup parent) {
if (convertView==null) {
convertView=new TextView(this);
}
convertView.setText(buildStringFor(position));
return(convertView);
}
Ici, getView() reçoit trois paramètres :
● L’indice de l’élément du tableau que l’on veut afficher dans la vue.
● Une vue existante qui sera modifiée avec les données à cette position (si ce paramètre
vaut null, vous devrez créer votre propre instance).
● Le widget qui contiendra cette vue, s’il faut l’instancier.
Dans l’exemple précédent, l’adaptateur renvoie quand même un objet TextView mais
utilise un comportement différent pour savoir quelle chaîne sera placée dans la vue.
Le Chapitre 9 présentera des ListView plus élaborées.
Autres adaptateurs essentiels
Voici d’autres adaptateurs dont vous aurez certainement besoin :
● CursorAdapter convertit un Cursor, généralement fourni par un content provider, en
un objet pouvant s’afficher dans une vue de sélection.
● SimpleAdapter convertit les données trouvées dans les ressources XML.
● ActivityAdapter et ActivityIconAdapter fournissent les noms ou les icônes des
activités qui peuvent être appelées lors d’une intention particulière.
Listes des bons et des méchants
Le widget classique d’Android pour les listes s’appelle ListView. Pour disposer d’une
liste complètement fonctionnelle, il suffit d’inclure un objet ListView dans votre présentation, d’appeler setAdapter() pour fournir les données et les vues filles, puis d’attacher
un écouteur via setOnItemSelectedListener() pour être prévenu de toute modification
de la sélection.
Cependant, si votre activité est pilotée par une seule liste, il peut être préférable que cette
activité soit une sous-classe de ListActivity plutôt que de la classe de base Activity
traditionnelle. Si votre vue principale est uniquement constituée de la liste, vous n’avez
même pas besoin de fournir de layout – ListActivity construira pour vous une liste qui
occupera tout l’écran. Vous pouvez toutefois personnaliser cette présentation à condition
d’identifier cette ListView par @android:id/list, afin que ListActivity sache quelle
est la liste principale de l’activité.
Livre Android.book Page 67 Dimanche, 8. novembre 2009 12:23 12
customer 27921 at Fri Mar 11 19:19:45 +0100 2011
Chapitre 8
Widgets de sélection 67
public View getView(int position, View convertView,
ViewGroup parent) {
if (convertView==null) {
convertView=new TextView(this);
}
convertView.setText(buildStringFor(position));
return(convertView);
}
Ici, getView() reçoit trois paramètres :
● L’indice de l’élément du tableau que l’on veut afficher dans la vue.
● Une vue existante qui sera modifiée avec les données à cette position (si ce paramètre
vaut null, vous devrez créer votre propre instance).
● Le widget qui contiendra cette vue, s’il faut l’instancier.
Dans l’exemple précédent, l’adaptateur renvoie quand même un objet TextView mais
utilise un comportement différent pour savoir quelle chaîne sera placée dans la vue.
Le Chapitre 9 présentera des ListView plus élaborées.
Autres adaptateurs essentiels
Voici d’autres adaptateurs dont vous aurez certainement besoin :
● CursorAdapter convertit un Cursor, généralement fourni par un content provider, en
un objet pouvant s’afficher dans une vue de sélection.
● SimpleAdapter convertit les données trouvées dans les ressources XML.
● ActivityAdapter et ActivityIconAdapter fournissent les noms ou les icônes des
activités qui peuvent être appelées lors d’une intention particulière.
Listes des bons et des méchants
Le widget classique d’Android pour les listes s’appelle ListView. Pour disposer d’une
liste complètement fonctionnelle, il suffit d’inclure un objet ListView dans votre présentation, d’appeler setAdapter() pour fournir les données et les vues filles, puis d’attacher
un écouteur via setOnItemSelectedListener() pour être prévenu de toute modification
de la sélection.
Cependant, si votre activité est pilotée par une seule liste, il peut être préférable que cette
activité soit une sous-classe de ListActivity plutôt que de la classe de base Activity
traditionnelle. Si votre vue principale est uniquement constituée de la liste, vous n’avez
même pas besoin de fournir de layout – ListActivity construira pour vous une liste qui
occupera tout l’écran. Vous pouvez toutefois personnaliser cette présentation à condition
d’identifier cette ListView par @android:id/list, afin que ListActivity sache quelle
est la liste principale de l’activité.
Livre Android.book Page 67 Dimanche, 8. novembre 2009 12:23 12
