每当设备上出现硬件菜单时,我都会看到ABS的一些奇怪行为。不会出现操作栏上的菜单项。按菜单按钮会打开溢出,并且会出现您希望在那里出现的项目。
有问题的应用程序包含一个主要的SherlockFragmentActivity,它可以交换各种SherlockFragments。一些片段包含FragmentStatePagers,它们托管许多其他SherlockFragments。这是显示问题的寻呼机中出现的碎片。
我以通常的方式创建菜单
@Override
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater = getSupportMenuInflater();
inflater.inflate(R.menu.activity_main, menu);
return super.onCreateOptionsMenu(menu);
}
@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
super.onCreateOptionsMenu(menu, inflater);
inflater.inflate(R.menu.menu_fragment_one, menu);
}
有趣的是,每当我使用后退键离开片段时,我会看到缺少的菜单项半秒钟。几乎就像它们在前一个片段上一样。
在所有Android版本中,这个问题看起来非常统一,只需要存在硬件菜单键。
任何帮助表示感谢。
- 编辑 - 看起来像按实际菜单键并打开溢出菜单然后关闭它,导致丢失的项目出现。太奇怪了。