我有一个ViewPager对象(有两页)的活动。第一页不应该显示任何菜单。但第二个应该显示一个菜单项。膨胀Android菜单
问题是,如果我使用任何menu.xml为onCreateOptionsMenu
充气菜单,一切都很好,我的意思是,当我更改ViewPager的页面时,菜单会发生变化......但我不想显示任何东西菜单在第一页。
因此,我认为不要在onCreateOptionsMenu
中夸大菜单(通过这种方式,我不会在第一页显示任何菜单,当我显示第二页时我会夸大它),但如果我不在onCreateOptionsMenu
中填充菜单,菜单不再显示!
这里是我的代码:
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.item_list_activity);
mViewPager = (ViewPager) findViewById(R.id.pager);
mViewPager.setAdapter(mAppSectionsPagerAdapter);
mViewPager
.setOnPageChangeListener(new ViewPager.SimpleOnPageChangeListener() {
@Override
public void onPageSelected(int position) {
if (position == 1) {
//Show user's menu
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.configure_users_menu, mMenu);
} else if (position == 0) {
//Clear menu. Don't show nothing.
mMenu.clear();
}
}
});
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
//If I don't inflate the menu here, the menu does not inflate anymore.
//If I inflate the menu here (with any menu), the menu works nice.
/*MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.configure_groups_menu, menu);*/
mMenu = menu;
return true;
}
我试图用menu.clear()
膨胀的菜单中onCreateOptionsMenu
后,但它不工作。
非常感谢!
可以膨胀的菜单资源没有任何itens。 – 2014-10-29 12:30:06
不,我也试过。使用空菜单就像不要夸大它。 – kemmitorz 2014-10-29 12:32:20
您可以在xml文件中定义菜单,但是,您不需要包含任何- !我已经使用过很多次了。 –
2014-10-29 12:35:23