我有一个活动显示一些片段。
Activity 视图仅包含使用自定义 FragmentPagerAdapter 初始化的 ViewPager。
该适配器提供 3 个片段之间的导航。
除了操作栏之外,一切似乎都工作正常。
我在片段中重写 onCreateOptionsMenu() 方法,为任何片段创建单独的操作栏:
@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater)
{
super.onCreateOptionsMenu(menu, inflater);
menu.clear();
//fragment specific menu creation
}
您可以要求 android 在自动创建操作栏之前通过调用invalidateOptionsMenu();
在靠近更改片段的位置执行此操作,以尝试减少片段和操作栏更改之间的“滞后”。
Edit
完整的解决方案可能如下所示:
class activity extends Activity{
private void switchFragment(){
...do fragment changing stuff
activity.invalidateOptionsMenu();
}
}
class someFragment extends Fragment{
@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater)
{
super.onCreateOptionsMenu(menu, inflater);
menu.clear();
//fragment specific menu creation
}
}
无论哪个片段在期间打开
activity.invalidateOptionsMenu();
然后将调用它的
onCreateOptionsMenu
您可以在那里创建特定于片段的菜单
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)