Propriété de Albiri Sigue
customer 27921 at Fri Mar 11 19:19:45 +0100 2011
100 L’art du développement Android
où toute la logique du code qui utilisait une ListView auparavant "fonctionnerait" avec la
RateListView du layout :
public class RateListViewDemo extends ListActivity {
TextView selection;
String[] items={"lorem", "ipsum", "dolor", "sit", "amet",
"consectetuer", "adipiscing", "elit", "morbi", "vel",
"ligula", "vitae", "arcu", "aliquet", "mollis",
"etiam", "vel", "erat", "placerat", "ante",
"porttitor", "sodales", "pellentesque", "augue",
"purus"};
@Override
public void onCreate(Bundle icicle) {
super.onCreate(icicle);
setContentView(R.layout.main);
setListAdapter(new ArrayAdapter(this,
android.R.layout.simple_list_item_1,
items));
selection=(TextView)findViewById(R.id.selection);
}
public void onListItemClick(ListView parent, View v,
int position, long id) {
selection.setText(items[position]);
}
}
Les choses se compliquent un tout petit peu lorsqu’on réalise que, jusqu’à maintenant, les
codes de ce chapitre n’ont jamais réellement modifié la ListView elle-même. Nous
n’avons fait que travailler sur les adaptateurs, en redéfinissant getView(), en créant nos
propres lignes par inflation, etc.
Si l’on souhaite que RateListView prenne n’importe quel ListAdapter et fonctionne
"comme il faut", en plaçant les barres d’évaluation sur les lignes comme il se doit, nous
devons faire un peu de gymnastique. Plus précisément, nous devons envelopper le ListAdapter "brut" dans un autre, qui sait comment placer les barres dans les lignes et mémoriser l’état de ces barres.
Nous devons d’abord établir le motif de conception dans lequel un ListAdapter en
augmente un autre. Voici le code d’AdapterWrapper, qui prend en charge un ListAdapter et
délègue toutes les méthodes de l’interface à delegate. Vous retrouverez ce code dans le
projet FancyLists/RateListView :
public class AdapterWrapper implements ListAdapter {
ListAdapter delegate=null;
public AdapterWrapper(ListAdapter delegate) {
this.delegate=delegate;
}
Livre Android.book Page 100 Dimanche, 8. novembre 2009 12:23 12
Précédent

- 115/391

Suivant