2010-09-15 15 views
5

Existe-t-il un moyen pour un bouton d'appeler un sous-menu?Android Ouvrir le menu à partir d'un bouton

J'ai actuellement un menu où s'ils choisissent l'une des options il ouvre un sous-menu, cependant je veux pouvoir commencer le sous-menu à partir du widget Bouton au lieu de l'objet Menu.

Merci!

Répondre

0

Je ne sais pas si c'est possible. Une option serait d'utiliser un dialogue comme sous-menu, de sorte que vous pouvez l'ouvrir à partir de l'un ou l'autre emplacement.

2

Vous pouvez utiliser openOptionsMenu() sur l'activité pour ouvrir par programme l'activité à partir du bouton, mais vous ne pouvez pas faire de même pour un sous-menu.

26

Je ne le recommande pas forcément, mais j'ai pu appeler le sous-menu par programmation. Tout d'abord, dans le remplacement de onCreateOptionsMenu, j'ai stocké le paramètre menu dans une variable Menu privée de l'activité. Ensuite, j'ai pu faire simplement ce qui suit de la onClick():

MyActivity.this.openOptionsMenu(); // activity's onCreateOptionsMenu gets called 
optionsMenu.performIdentifierAction(R.id.miSubMenu1, 0); 

En l'occurrence, il m'a sauvé beaucoup de temps depuis le sous-menu a été construit mois avant la demande d'avoir un bouton supplémentaire aller directement au sous-menu.

+1

J'ai déjà voté pour ceci, mais je voulais ajouter un commentaire pour dire que cela devrait probablement être la réponse acceptée. Travaillé parfaitement. –

+0

Parfait. Merci beaucoup – tasomaniac

+0

qu'est ce que "optionsMenu"? Où puis-je le définir? –