32

Ho il seguente metodo sovrascritto nella mia scheda Attività e funziona bene, ma voglio specifici menu di opzioni per ogni frammento. Quando inserisco questo nel mio frammento e preme il pulsante menu, non succede nulla.Come posso utilizzare onCreateOptionsMenu in un frammento all'interno di una scheda Attività? (Sherlock ActionBar)

@Override 
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) { 
    MenuInflater inflater = getSupportMenuInflater(); 
    inflater.inflate(R.menu.activity_calc, menu); 
    return true; 
} 
+2

ActionBarSherlock non supporta 'TabActivity'. – CommonsWare

+0

Ho utilizzato SherlockFragmentActivity con contentView come implementazione della scheda ViewPager + (così posso eseguire lo scorrimento e fare clic sulle schede). Non è specificamente un TabActivity ... è solo un'attività con schede. – snotyak

+1

C'è qualcosa di sbagliato nel codice che hai postato, non verrà compilato. "inflater" è definito due volte e "return true" non è accettato in un metodo con tipo return void. – RenniePet

risposta

85

è necessario chiamare setHasOptionsMenu(true) sul frammento prima che possa partecipare alla barra delle azioni.

+0

Ah, sì. Ho copiato la cosa sbagliata ma ha lo stesso metodo, haha. Lo proverò tra un po '. Grazie. – snotyak

+3

hwo per usare quel codice? –

+0

Un collegamento doc su 'setHasOptionsMenu (true)' sarà utile, grazie. – Jigar

0

Posso suggerire di verificare http://code.google.com/p/sherlock-demo/. Come descritto da BackpackOnHead, utilizza le schede ActionBar di ViewPager + per consentire di navigare in due modi diversi tra i frammenti in un'attività. In questo caso, è la parte FragmentTabs dell'API demo Demo API, portata su ActionBarSherlock. Il frammento LoaderThrottle in particolare ha i suoi oggetti OptionsMenu.