2011-10-11 58 views
0

我想在託管標籤視圖的活動中顯示菜單選項。這是我的選項卡視圖活動的代碼。Android:在帶有標籤的活動上顯示菜單選項

public class Tabs3 extends TabActivity { 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 

     final TabHost tabHost = getTabHost(); 

     tabHost.addTab(tabHost.newTabSpec("tab1").setIndicator("list") 
       .setContent(new Intent(this, List1.class))); 

     tabHost.addTab(tabHost.newTabSpec("tab2").setIndicator("photo list") 
       .setContent(new Intent(this, List8.class))); 
    } 

    @Override 
    public boolean onPrepareOptionsMenu(Menu menu) { 
     menu.removeGroup(0); 

     menu.add(0, 0, 0, "Home").setIcon(
       android.R.drawable.ic_menu_preferences); 

     return super.onPrepareOptionsMenu(menu); 
    } 

    @Override 
    public boolean onMenuItemSelected(int featureId, MenuItem item) { 
     switch (item.getItemId()) { 
     case 0: 
      setResult(10); 
      finish(); 
      return true; 
     } 

     return super.onMenuItemSelected(featureId, item); 
    } 
} 

現在,當我按在Android的菜單按鈕,onPrepareOptionsMenu被稱爲這是正確的,但是當我選擇菜單選項,什麼都不會發生。我也調試了我的代碼,並且控制沒有達到onMenuItemSelected

請幫忙。

回答

0

我得到了我的解決方案..我不無論是做完美的方式,但它是工作..

而不是使用onMenuItemSelected,我只是用onOptionsItemSelected和我的代碼工作。

下面是最終代碼:

public class Tabs3 extends TabActivity { 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 

     final TabHost tabHost = getTabHost(); 

     tabHost.addTab(tabHost.newTabSpec("tab1").setIndicator("list") 
       .setContent(new Intent(this, List1.class))); 

     tabHost.addTab(tabHost.newTabSpec("tab2").setIndicator("photo list") 
       .setContent(new Intent(this, List8.class))); 
    } 

    @Override 
    public boolean onPrepareOptionsMenu(Menu menu) { 
     menu.removeGroup(0); 

     menu.add(0, 0, 0, "Home").setIcon(
       android.R.drawable.ic_menu_preferences); 

     return super.onPrepareOptionsMenu(menu); 
    } 

    @Override 
    public boolean onOptionsItemSelected(MenuItem item) { 
     switch (item.getItemId()) { 
     case 0: 
      setResult(10); 
      finish(); 
      return true; 
     } 

     return super.onOptionsItemSelected(item); 
    } 
} 
相關問題