2

每当设备上存在硬件菜单时,我都会看到 ABS 的一些奇怪行为。不会出现在操作栏上的菜单项。按下菜单按钮确实会打开溢出,并且您希望出现的项目确实会出现。

有问题的应用程序由一个主 SherlockFragmentActivity 组成,它交换了各种 SherlockFragment。一些片段包含托管许多其他 SherlockFragment 的 FragmentStatePagers。出现问题的寻呼机中的片段。

我以通常的方式创建菜单

MainActivity.java

@Override
public boolean onCreateOptionsMenu(Menu menu) {

    MenuInflater inflater = getSupportMenuInflater();
    inflater.inflate(R.menu.activity_main, menu);
    return super.onCreateOptionsMenu(menu);

}

片段1.java

@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
    super.onCreateOptionsMenu(menu, inflater);
    inflater.inflate(R.menu.menu_fragment_one, menu);
}

有趣的是,每当我使用返回键离开片段时,我都会看到丢失的菜单项有半秒钟。几乎就像它们在前一个片段上一样。

这个问题似乎在所有 android 版本中都很统一,只需要存在一个硬件菜单键。

任何帮助表示赞赏。

-- 编辑 -- 看起来像按下实际菜单键并打开溢出菜单然后关闭它,导致丢失的项目出现。这么奇怪。

4

0 回答 0