Menu di scelta rapida fare clic su un pulsante nella Barra delle azioni
Sto cercando di mettere in atto un bar in cui uno dei pulsanti fare clic su mostra un menu a comparsa.
Ecco il menu. XML (voci di menu nella barra delle azioni)
<menu xmlns:android="http://schemas.android.com/apk/res/android" >
<item
android:id="@+id/search"
android:icon="@drawable/ic_action_search"
android:orderInCategory="0"
android:showAsAction="always"
android:title="@string/menu_search"/>
<item
android:id="@+id/refresh"
android:icon="@drawable/ic_action_refresh"
android:orderInCategory="1"
android:showAsAction="always"
android:title="@string/menu_refresh"/>
<Item
android:id="@+id/popup"
android:icon="@drawable/ic_action_search"
android:onClick="showPopup"
android:orderInCategory="1"
android:showAsAction="always"
android:title="@string/menu_search" />
Vorrei mostrare un popup menu cliccare la voce di avere id “@+id/popup”.
qui è l’XML per il menu a comparsa
<menu xmlns:android="http://schemas.android.com/apk/res/android" >
<item
android:id="@+id/item1"
android:icon="@drawable/ic_action_search"
android:orderInCategory="0"
android:showAsAction="always"
android:title="@string/menu_search"/>
<item
android:id="@+id/item2"
android:icon="@drawable/ic_action_search"
android:orderInCategory="1"
android:showAsAction="always"
android:title="@string/menu_search"/>
qui è il metodo onClick del pulsante
public void showPopup(View v) {
PopupMenu popup = new PopupMenu(this, v);
MenuInflater inflater = popup.getMenuInflater();
inflater.inflate(R.menu.overflow, popup.getMenu());
popup.show();
}
E il problema è che nessun popup mostra fino al clic del pulsante. Bisogno aiutare persone.
Sei sicuro che showPopup viene chiamato? Forse onClick non registrati correttamente?
Io non sono sicuro se il onClick è la registrazione in modo corretto.
Impostare un registro.d o punto di interruzione nel showPopup metodo e vedere se si stampa nulla out/get hit. Se funziona, allora si può mettere a fuoco il codice all’interno showPopup.
Io non sono sicuro se il onClick è la registrazione in modo corretto.
Impostare un registro.d o punto di interruzione nel showPopup metodo e vedere se si stampa nulla out/get hit. Se funziona, allora si può mettere a fuoco il codice all’interno showPopup.
OriginaleL’autore darsh | 2012-05-07
Ho trovato questo qui: http://developer.android.com/guide/topics/ui/menus.html
Si può mettere un menu all’interno di un menu per presentare i sub-menu, quando l’elemento viene cliccato. Quindi, in Java, è possibile utilizzare gli stessi metodi, come al solito.
Id ‘top’ in xml è ancora riconosciuto, anche se è un sub menu. Questo ha funzionato per me e sembra proprio come il menu a comparsa.
OriginaleL’autore Nlinscott
Finalmente ho
Grazie mille, davvero aiutato.
OriginaleL’autore serabile
Come il popup menu è un MENU, è necessario gestire l’implementazione di “onOptionsItemSelected”. Sarete in grado di dire cosa fare per ogni opzione di menu. Andrà a sostituire il “onClick” opzione di definizione e sarà chiamato automaticamente.
OriginaleL’autore Jeje Doudou
Provare a cambiare ‘questo’ per getActivity().
Speranza che aiuta..!!
developer.android.com/resources/samples/ApiDemos/src/com/… . Prova questo, ma credo u r facendo la stessa cosa..
OriginaleL’autore Rookie
Ho trovato una soluzione per questo. Invece di usando il menu di XML per gonfiare il menu a comparsa, ho fatto un file di layout XML.
e ho cambiato il metodo onClick
Questo ha risolto il problema
gonfiare un layout di ogni singola volta che è costoso. c’è un molto più pulito, efficiente e robusto modo per fare questo. Guarda la mia risposta
OriginaleL’autore darsh
può essere che si dovrebbe cambiare per
android:onClick="showPopup"
?OriginaleL’autore user1049280