2012-03-22 34 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 { 显示这里的菜单 }

相关问题