Bonjour à tous,
Je découvre tant bien que mal le devs sous Android depuis quelques jours.
Je rencontre bon nombre de difficultés et la plupart tourne autour de la gestion de l'interface graphique mais avec les nombreux tips ici et là on s'en sort la plupart du temps.
Là en revanche je bloque depuis un certain temps sur un point.
Je vais essayer de résumer.
J'ai ma classe principale qui étends ListActivity
public class Main extends ListActivity
Je récupère un bean maison qui contient une liste d'articles via un service.
A partir de cette liste je popule ma ListView via un SimpleAdapter
Jusque là tout va bien.
Maintenant ce que j'aimerais c'est ouvrir un autre Activity lors d'un click sur un item de la liste.
j'ai donc ajouté un registerForContextMenu(getListView()); dans mon onCreate et ajouté la méthode onListItemClick
1 2 3 4 5 6
|
protected void onListItemClick(ListView l, View v, int position, long id) {
super.onListItemClick(l, v, position, id);
Intent i = new Intent(this, ArticleDetail.class);
startActivity(i, ACTIVITY_DETAIL);
} |
Seulement voilà, quand j'arrive dans le nouvel Activity il me manque l'identifiant de l'article à afficher.
J'ai bien vu la méthode putExtra mais je ne sais pas quoi lui passer. j'ai un id dans la signature de onListItemClick mais je ne sais pas à quoi il correspond.
Avec la position je pourrais aller chercher dans mon bean les infos nécessaires via une boucle mais je trouve que cette méthode n'est pas très propre et certainement pas optimisée (même si ma liste ne va contenir que 30 éléments max)
Voilà ma question est, est-ce que vous avez une solution propre et optimisée pour passer un identifiant unique dans le startActivity
Merci d'avance
Partager