2012-03-22 29 views
0

我有一個tabview包含兩個不同的選項卡(主題和章節),我需要
爲不同的選項卡創建不同的菜單。我的問題是如何爲「主題」選項卡和章節選項卡創建不同的菜單
。我創建了兩個菜單,但它在兩個選項卡視圖上顯示一個菜單。
請給出一些提示或參考。
在此先感謝。
這裏是我的代碼供參考。如何在不同的tabview中添加不同的菜單項?

public class MasterMainActivity extends TabActivity 
{ 
LayoutInflater layoutInflater = null; 
@Override 
public void onCreate(Bundle savedInstanceState) 
{ 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.master); 
    Intent intent=getIntent(); 
    setResult(RESULT_OK, intent); 
     layoutInflater = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE); 
     TabHost tabHost = getTabHost(); 


     TabHost.TabSpec tab1spec = tabHost.newTabSpec("tabOneSpec");   
     ImageView imgView = new ImageView(this); 
     //imgView.setBackgroundResource(R.drawable.examstudy); 
     tab1spec.setIndicator("Subject", imgView.getBackground()); 
     tab1spec.setContent(new TabContentLayout()); 

     TabHost.TabSpec tab2spec = tabHost.newTabSpec("tabTwoSpec"); 
     tab2spec.setContent(new TabContentLayout()); 
     ImageView imgView1 = new ImageView(this); 
     // imgView1.setBackgroundResource(R.drawable.datetime); 
     tab2spec.setIndicator("Chapter", imgView1.getBackground()); 
     tabHost.addTab(tab1spec); 
     tabHost.addTab(tab2spec);   
     } 
      private class TabContentLayout implements TabHost.TabContentFactory { 
     @Override 
     public View createTabContent(String tag) { 
      View view = null; 
      if(tag.equals("tabOneSpec")) 
      { 
       view = (LinearLayout) layoutInflater.inflate(R.layout.subjecttabview, null);      

      } 
      if(tag.equals("tabTwoSpec")) 
      { 
       view = (LinearLayout) layoutInflater.inflate(R.layout.chaptertabview, null);      
      }    
      return view; 
     } 
    } 
     @Override 
     public boolean onCreateOptionsMenu(Menu menu) { 
      // TODO Auto-generated method stub 
      MenuInflater inflater = getMenuInflater(); 
      inflater.inflate(R.menu.master_subject, menu);  
      return true; 
     } 
     @Override 
     public boolean onOptionsItemSelected(MenuItem item) 
     { 
       switch (item.getItemId()) 
       { 
       case R.id.master_AddSubject: 
         Intent intent=new Intent(getApplication(),AddMasterSubActivity.class); 
         startActivity(intent); 
         return true; 

       case R.id.master_SubjectUpdate: 
         //deleteAll(); 
         return true; 
       case R.id.master_SubjectDelete: 
         //deleteAll(); 
         return true; 
        } 
       return false; //should never happen 
     } 

     public boolean onCreateOptionsMenu1(Menu menu) { 
      // TODO Auto-generated method stub 
      MenuInflater inflater = getMenuInflater(); 
      inflater.inflate(R.menu.master_chapter, menu);  
      return true; 
     } 
     public boolean onOptionsItemSelected1(MenuItem item) 
     { 
       switch (item.getItemId()) 
       { 
       case R.id.master_Chapter_AddChapter: 
        Intent intent=new Intent(getApplication(),AddMasterChaActivity.class); 
         startActivity(intent); 
         return true; 
       case R.id.master_ChapterUpdate: 
         //deleteAll(); 
         return true; 
       case R.id.master_ChapterDelete: 
         //deleteAll(); 
         return true; 
        } 
       return false; //should never happen 
     } 

} 

回答

1

但首先,在一項活動中,我們只能顯示一個菜單。在選項卡活動中有兩個無用的菜單。

和第二 標籤活動的主要目的是利用子活動這裏使用兩個菜單活動之間的切換不只是簡單的觀點

取而代之的是由標籤Activity.I開始從來沒有試過這種但應該工作。

標籤活動{

表1:活性的

表2:活動乙

}

A { 顯示這裏菜單 }

B { 顯示這裏的菜單 }

相關問題