我正在使用view pager
标签toolbar
作为android action bar
。
现在我的一个tab
,我只为那个menu
创建了一个fragment
,它设置正常,因为我设置的选项菜单为真{{1} }。
问题是,当用户滑动到不同的fragment
或点击不同的tab
时,如何删除菜单。
做这件事的最佳程序是什么。
我正在片段中创建选项菜单
tab
答案 0 :(得分:1)
您需要在所有片段中加载setHasOptionsMenu(true);
并在所有片段中覆盖如下
@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater)
{
super.onCreateOptionsMenu(menu, inflater);
menu.clear();
//fragment specific menu creation
}
您需要添加viewpager listner以及@Madhav建议
答案 1 :(得分:0)
在您的mainactivity中,在viewpager的addonpagechangelistener
中执行此操作 ViewPager.addOnPageChangeListener(new ViewPager.OnPageChangeListener() {
@Override
public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
}
@Override
public void onPageSelected(int position) {
// Do your work here
// Set your menu from here according to the position
// followed by invalidateoptionsmenu()
}
@Override
public void onPageScrollStateChanged(int state) {
}
});