2014-01-15 2 views
0

У меня есть две вкладки в моем приложении, и я хочу, чтобы меню менялось в зависимости от Tab.Обновление меню при переключении между вкладками в Android

TabHost tabHost = tabHost = getTabHost(); 

TabSpec photospec = tabHost.newTabSpec("Photos"); 
photospec.setIndicator("Photos", getResources().getDrawable(R.drawable.photo)); 
Intent photosIntent = new Intent(this, Photos.class); 
photospec.setContent(photosIntent); 



TabSpec songspec = tabHost.newTabSpec("Songs");  
songspec.setIndicator("Songs", getResources().getDrawable(R.drawable.songs)); 
Intent songsIntent = new Intent(this, Songs.class); 
songspec.setContent(songsIntent); 

tabHost.addTab(photospec); // Adding photos tab 
tabHost.addTab(songspec); // Adding songs tab 



@Override 
public boolean onOptionsItemSelected(MenuItem item) { 
int currentTab = tabHost.getCurrentTab(); 
if (currentTab == 0) 
    startActivity(new Intent(this, Photosoptions.class)); 
if (currentTab == 1) 
    { 
     startActivity(new Intent(this, Songsoptions.class)); 
        } 
     return true; 
    } 



    @Override 
public boolean onPrepareOptionsMenu(Menu menu) { 

    MenuInflater inflater = getMenuInflater(); 
    int currentTab = tabHost.getCurrentTab(); 

    if (currentTab == 0){ 
     menu.clear(); 
     inflater.inflate(R.menu.first, menu); 

     } 
    if (currentTab ==1){ 
     menu.clear(); 
     inflater.inflate(R.menu.second, menu); 

    } 
    return super.onPrepareOptionsMenu(menu); 
} 



    tabHost.setOnTabChangedListener(new OnTabChangeListener(){ 
     @Override 
     public void onTabChanged(String tabId) { 
      closeOptionsMenu(); 

     }}); 

Теперь, когда я перейти на вкладку песни меню фото по-прежнему там, пока не нажать на нее появится меню песни. Я хочу, чтобы меню обновлялось, как только я нажимаю на вкладку

+0

Предоставьте один щелчок для лучшего понимания. –

+0

Что такое значение 'tableId' в' onTabChanged'? его равным с текущей вкладкой или следующей вкладкой? –

ответ

0

Вы готовите меню опций в TabActivity. вместо этого подготовьте меню параметров в индивидуальной деятельности. Таким образом, когда вы будете в этом действии, будет показано только меню опций.

+0

Я пробовал, что меню не отображается – Lily

Смежные вопросы