2010-02-28 6 views
2

J'ai créé une application pour Android qui a une activité qui a un ListView qui répertorie tous les utilisateurs actuels (chaque ligne est juste une image de leur profil avec du texte avec leur statut actuel et Nom d'utilisateur).Informations de la liste listview pour le menu contextuel Android

J'ai ajouté un contextmenu, de sorte qu'un long clic fait apparaître plusieurs options telles que « profil de vue », « envoyer un message », etc.

Dans le gestionnaire ContextMenu, comment puis-je extraire des informations à connaître sur quel utilisateur le menu contextuel a été cliqué (par exemple, si je sélectionne userX puis sélectionné "view profile" alors il devrait être capable de récupérer l'objet userX et charger le profil)

Comme la ligne actuellement seulement a un ensemble de texte descriptif, aurais-je besoin d'intégrer un autre ID utilisateur caché ou quelque chose? des pensées sur la façon dont je pourrais définir/récupérer ces données?

Merci

Répondre

1

Commencez ici:

Detecting which selected item (in a ListView) spawned the ContextMenu (Android)

How do you implement context menu in a ListActivity on Android?

En outre, here is a sample project qui démontre obtenir le _ID d'une ligne de base de données à l'appui d'un élément de menu contextuel "Supprimer".

+0

J'essaie le projet d'exemple que vous avez mentionné: comment cacher les numéros d'identification, et comment rendre la liste plus grande pour remplir l'écran. http://img138.imageshack.us/img138/6920/ss4na.jpg J'essaie de faire aussi grand qu'ici: http://stackoverflow.com/questions/2350912/why-this-android-view-doesnt-fill -le-screen-verticalement – Pentium10

+0

Merci pour la réponse - J'avais trouvé une référence pour utiliser l'objet AdapterContextMenuInfo, cependant, est-il possible de pré-définir l'ID de la ligne? Par exemple, une fois que j'ai l'ID de ligne, puis-je charger l'objet utilisateur à partir de cela? (par exemple si la ligne n'a que la description du nom d'utilisateur et du profil de l'utilisateur et qu'aucun identifiant unique n'est affiché) - Serait-il possible d'attacher un objet utilisateur à la ligne une fois que j'ai l'ID de ligne que je peux récupérer? Merci – rhinds

+0

"est-il possible de prérégler l'ID de la ligne?" Le '_ID' vient du' Cursor'. D'où viennent les données de 'Cursor' (SQLite,' ContentProvider', autre chose) est à vous. – CommonsWare

Questions connexes