2010-05-24 9 views
0

J'ai un TabLayout contenant des onglets pour les activités. Je souhaite définir des éléments de menu personnalisés pour chaque onglet, mais la version de onCreateOptionsMenu appelée est la version de l'hôte. Comment puis-je créer les éléments de menu créés par chaque activité de façon autonome.Menu personnalisé TabLayout

Répondre

0

Un appel à

boolean result = super.onCreateOptionsMenu(); 
// do anything but don't change anything in the menu in case of the specific menu u want 
return result; 

Faites la même chose avec onPrepareOptionsMeny()

4

Si tout ce que vous voulez est le menu de la sous-activité à la place du menu TabActivity, alors vous en avez juste besoin pour arrêter la propagation de onCreateOptionsMenu(). C'est-à-dire que normalement vous appelez "return super.onCreateOptionsMenu(menu);" à la fin, mais si vous n'avez que return true à la place, seul le menu de cette sous-activité devrait être affiché pour un onglet particulier.

0
int cur = tabHost.getCurrentTab();  
       Log.i("current tab for asdasff", ""+cur); 
       tabHost.getTabWidget().getChildAt(cur).setOnCreateContextMenuListener(new OnCreateContextMenuListener() { 

        @Override 
        public void onCreateContextMenu(ContextMenu menu, View v, 
          ContextMenuInfo menuInfo) { 
         // TODO Auto-generated method stub 
         MenuInflater menuInflater = getMenuInflater(); 
         menuInflater.inflate(R.menu.context_menu, menu); 
         //createMenu(menu); 
        } 
       } 
Questions connexes