我有一个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
}
}
答案 0 :(得分:1)
但首先,在一项活动中,我们只能显示一个菜单。您在Tab Activity中有两个无用的菜单。
和第二次 Tab Activity的主要目的是在活动之间切换,而不仅仅是简单的视图
而不是使用在Tab活动启动的子活动中使用的两个菜单。我从未尝试过这个。但是应该可以。
标签活动{
标签1:活动A
标签2:活动B
}
A { 在这里显示菜单 }
B { 在这里显示菜单 }