如何使Fragment中的非工具栏ActionMenuView无效

时间:2019-04-13 03:33:08

标签: android android-fragmentactivity android-menu

我在ActionMenuView布局中有一个Fragment,它不是动作栏/工具栏的一部分。我想做类似Activity.invalidateOptionsMenu()的事情,但只针对这一特定的ActionMenuView

通过在setHasOptionsMenu(true)中调用Fragment.onCreateView()可以看到Fragment.onCreateOptionsMenu()Fragment.onPrepareOptionsMenu()被调用,但是对象Menu错误。我可以通过忽略它并使用ActionMenuView的{​​{1}}对象来破解它,但这一切似乎都很hacky,因为:

  1. 这些回调似乎旨在用于工具栏菜单
  2. 错误的Menu被传递到回调中,表明这些回调仅应用于该菜单
  3. 当我只想使Menu级别的某些内容无效时,使Activity菜单无效是没有意义的

我真正想要的是一种使Fragment(在我的情况下仅显示为一个溢出图标)无效,然后懒惰地完成菜单项的实际刷新的方法(当溢出图标为点击)。

0 个答案:

没有答案