Android ActionBar菜单不重绘菜单项

时间:2014-01-14 18:54:32

标签: android android-fragments xamarin android-optionsmenu

我已经阅读了几篇关于android选项菜单问题的帖子,但没有人帮我解决这个特殊问题。

Android版: API 15 & API 16

使用 ActionBarCompat 支持库

我有一个包含2个片段的寻呼机片段。 “详细信息”片段将根据某个标志显示/隐藏按钮。当我第一次加载屏幕时,菜单项显示正确。当我采取一些操作并返回到屏幕时,我的菜单看起来并不像它中有物品,但是有一个分隔栏。没有按钮显示(虽然它们应该是)。如果我导航到另一个选项卡并直接导航回“详细信息”选项卡,则按钮会按预期显示。

enter image description here

我正在刷新我的应用中的其他菜单项而没有问题 - 在OnCreateOptionMenu等期间使用SupportInvalidateOptionsMenu,HasOptionsMenu = true,menu.Clear()

  1. 为什么不是menu.Clear()实际上清除我的菜单
  2. 为什么菜单项不在那里,但如果我只是导航然后返回(只触发OnCreateOptionsMenu / OnPrepareOptionsMenu回调),它们就是
  3. 注意 - 菜单项在API 17 +

    上按预期显示

1 个答案:

答案 0 :(得分:2)

最终,我遇到了两个问题而没有意识到这一点。

  1. 我的AVD很糟糕(这导致我的菜单中有一些奇怪的空白 - 如上图所示)。一旦我删除了AVD并构建了新的AVD,我就能看到一些菜单项 - 虽然“保存”按钮仍然不会重新绘制
  2. InvalidateOptionsMenu尝试执行时和我的ViewPager尝试绘制自己并发送自己的Invalidate调用之间存在时间问题。
  3. 这个链接让我得到正确答案:

    https://code.google.com/p/android/issues/detail?id=29472

    特别评论#8和#20