我希望每次用户点击溢出菜单按钮(3点)时都会调用onPrepareOptionsMenu
。根据我的理解,在HC +设备上,菜单被视为始终显示,因此onPrepareOptionsMenu
将仅在第一次调用时调用,或者在调用invalidateMenuOptions
后调用。我的问题是,如何在点击溢出按钮上调用invalidateMenuOptions
?这是Fragment
中的ActionBarCompat ActionBarActivity
。
答案 0 :(得分:1)
你可以简单地从片段中调用invalidateOptionsMenu,如下所示:
getActivity().invalidateOptionsMenu();
但是我不确定如果在点击溢出按钮时调用它会发生什么。这很可能会使ActionBar的行为变得混乱,并且可能不值得花时间来完成这项工作。
此外,您必须考虑并非所有设备都以这种方式实际显示溢出菜单。例如,所有带有菜单按钮的设备 - 几乎所有来自三星和许多旧设备的设备 - 根本不显示溢出菜单按钮。因此,您应该重新考虑并尝试以其他方式解决您的问题。