Aller au contenu

Titre variable pour un menu contextuel


st3ph

Recommended Posts

Bonjour à tous !

Je débute dans le développement d'applications Android, pour l'instant j'apprends à faire des interfaces graphiques et je bloque sur un problème qui va sûrement vous sembler facile mais je n'ai trouvé aucune réponse sur le net.

Je m'explique : j'ai créer une liste sur laquelle chaque élément possède un menu contextuel, le menu marche très bien mais j'aimerai que ce menu ait un titre. J'ai trouvé la bonne méthode il s'agit de setHeaderTitle(), celle-ci fonctionne pour un titre fixe mais je voudrais que le titre prenne pour valeur celle de l'élément "pressé".

Exemple : si je reste appuyé sur "ELEMENT 1" un menu contextuel s'ouvre et je veux que son titre soit "ELEMENT 1"

J'ai trouvé un exemple sur le site d'android mais il n'y a pas de code source :mad:

http://developer.android.com/guide/practices/ui_guidelines/menu_design.html#context_menu

Voici mon code actuellement et je suppose que cela doit se faire dans onCreateContextMenu, à ce moment là il faudrait simplement que je sache sur quel élément l'utilisateur a appuyé.

public void onCreateContextMenu(ContextMenu menu, View v, ContextMenuInfo menuInfo) {
   menu.setHeaderTitle("valeur de mon élément");
   new MenuInflater(getApplication()).inflate(R.menu.menu_context, menu);
   super.onCreateContextMenu(menu,v,menuInfo);
}

public boolean onContextItemSelected (MenuItem item) {
   return(applyMenuContextChoice(item) || super.onContextItemSelected(item));
}

Merci d'avance pour vos réponses !

Lien vers le commentaire
Partager sur d’autres sites

Merci Pierre87 j'ai résolu mon problème !

Je me doutais que c'était simple mais quand on débute c'est pas évident :P

Je poste tout de même mon nouveau code au cas où (ça pourrait peut être aidé quelqu'un :) )

public void onCreateContextMenu(ContextMenu menu, View v, ContextMenuInfo menuInfo) {
   AdapterView.AdapterContextMenuInfo info = (AdapterView.AdapterContextMenuInfo)menuInfo;
   menu.setHeaderTitle(items[info.position]);
   new MenuInflater(getApplication()).inflate(R.menu.menu_context, menu);
   super.onCreateContextMenu(menu,v,menuInfo);
}

Lien vers le commentaire
Partager sur d’autres sites

Archivé

Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.

×
×
  • Créer...