Propriété de Albiri Sigue
customer 27921 at Fri Mar 11 19:19:45 +0100 2011
Chapitre 9
S’amuser avec les listes 93
public void onListItemClick(ListView parent, View v,
int position, long id) {
selection.setText(getModel(position));
}
class IconicAdapter extends ArrayAdapter {
Activity context;
IconicAdapter(Activity context) {
super(context, R.layout.row, items);
this.context=context;
}
public View getView(int position, View convertView,
ViewGroup parent) {
View row=convertView;
ViewWrapper wrapper=null;
if (row==null) {
LayoutInflater inflater=context. getLayoutInflater();
row=inflater.inflate(R.layout.row, null);
wrapper=new ViewWrapper(row);
row.setTag(wrapper);
}
else {
wrapper=(ViewWrapper)row.getTag();
}
wrapper.getLabel().setText(getModel(position));
if (getModel(position).length()>4) {
wrapper.getIcon().setImageResource(R.drawable.delete);
}
else {
wrapper.getIcon().setImageResource(R.drawable.ok);
}
return(row);
}
}
}
On teste si convertView est null pour créer au besoin les View de la ligne et l’on récupère
(ou l’on crée) également le ViewWrapper de celle-ci. Accéder ensuite aux widgets fils
consiste simplement à appeler les méthodes appropriées du wrapper.
Livre Android.book Page 93 Dimanche, 8. novembre 2009 12:23 12
Précédent

- 108/391

Suivant