Autore Topic: PopupMenu su Fragment  (Letto 502 volte)

Offline YvesB

  • Nuovo arrivato
  • *
  • Post: 18
  • Respect: 0
    • Github
    • Mostra profilo
  • Dispositivo Android:
    Galaxy Nexus
  • Play Store ID:
    Young Peacock
  • Sistema operativo:
    Linux Mint 15
PopupMenu su Fragment
« il: 23 Settembre 2013, 18:54:42 CEST »
0
Ciao a tutti! Ho un bottone su uno dei Fragment della mia applicazione dove ho implementato lo Swipe con Tabs. Ho costatato che, mentre che il Toast viene visualizzato al click del bottone, il PopupMenu invece no. Ecco il codice :
Codice (Java): [Seleziona]
....
button.setOnClickListener(new OnClickListener() {
            public void onClick(View v) {
            Toast.makeText(getActivity(),"Text!",Toast.LENGTH_SHORT).show();
           
            PopupMenu popup = new PopupMenu(getActivity(),rootView); //di default si usa il bottone ma non funziona nemmeno quello come View
               
              popup.getMenuInflater().inflate(R.menu.notes, popup.getMenu());
              popup.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() {
             
                 public boolean onMenuItemClick(MenuItem item) {
...

Quindi quale è il problema? Può essere il tipo di navigazione settata male nel FragmentActivity? Perché ripeto..il Toast funziona mentre il PopupMenu (che fa parte del Menu) non viene visualizzato

Offline matttt

Re:PopupMenu su Fragment
« Risposta #1 il: 24 Settembre 2013, 18:27:56 CEST »
0
ViewPager e simili sono sempre un po' ostici... se sei nel costruttore del Fragment potresti provare a passare il contesto come parametro e usare quello al posto di getActivity() ; in alternativa se non sei nel costruttore e il Fragment è contenuto in un'altra classe (es. FragmentActivity) puoi tenere una variabile Context nella tua activity che inizializzi nell'onCreate (mContext = this;) e usare quella.
Le mie apps su Google Play Store:

Offline YvesB

  • Nuovo arrivato
  • *
  • Post: 18
  • Respect: 0
    • Github
    • Mostra profilo
  • Dispositivo Android:
    Galaxy Nexus
  • Play Store ID:
    Young Peacock
  • Sistema operativo:
    Linux Mint 15
Re:PopupMenu su Fragment
« Risposta #2 il: 25 Settembre 2013, 19:19:30 CEST »
0
Beh sì..bisogna farci un po pratica ed il mio problema era davvero banale. Come il Toast richiede il metodo
Codice (Java): [Seleziona]
.show(); lo richiedeva anche il PopupMenu nel Fragment, mentre nella Activity non è necessario! Tutto risolto grazie  8-)