2010-09-15 23 views
5

C'è un modo per un pulsante di chiamare un sottomenu?Menu Apri Android da un pulsante

Attualmente ho un menu in cui se selezionano una delle opzioni apre un sottomenu, tuttavia voglio essere in grado di avviare il sottomenu dal widget Pulsante anziché dall'oggetto Menu.

Grazie!

risposta

0

Non sono sicuro che sia possibile. Un'opzione consisterebbe nell'utilizzare una finestra di dialogo come sottomenu, in modo da poterla aprire da entrambe le posizioni.

2

È possibile utilizzare openOptionsMenu() sull'attività per aprire a livello di programmazione l'attività dal pulsante, ma non è possibile fare lo stesso per un sottomenu.

26

Non lo raccomando necessariamente, ma sono stato in grado di chiamare il sottomenu in modo programmatico. Innanzitutto, nell'override di onCreateOptionsMenu ho memorizzato il parametro del menu su una variabile Menu privata nell'attività. Poi, sono stato in grado di fare semplicemente il seguente dalla onClick():

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

In un caso particolare questo mi ha salvato un sacco di tempo da quando il sottomenu è stato costruito mesi prima della richiesta di avere un pulsante aggiuntivo andare direttamente al sottomenu.

+1

Ho già messo su questa opzione, ma ho voluto aggiungere un commento per dire che probabilmente questa dovrebbe essere la risposta accettata. Ha funzionato perfettamente –

+0

Perfetto. Grazie mille – tasomaniac

+0

che cos'è "optionsMenu"? Dove lo definisco? –

Problemi correlati