0

onPrepareOptionsMenuユーザーがオーバーフロー メニュー ボタン (3 つのドット) をクリックするたびに呼び出したいと思います。私が理解していることから、HC + デバイスでは、メニューは常に表示されていると見なされるためonPrepareOptionsMenu、最初に呼び出されるか、呼び出された後にinvalidateMenuOptionsのみ呼び出されます。invalidateMenuOptions私の質問は、オーバーフロー ボタンのクリックを呼び出すにはどうすればよいですか? これは にFragmentあるActionBarCompat ActionBarActivityです。

4

1 に答える 1

1

次のように Fragment から単に invalidateOptionsMenu を呼び出すことができます。

getActivity().invalidateOptionsMenu();

しかし、オーバーフローボタンがクリックされたときにそれを呼び出すとどうなるかわかりません。これが ActionBar の動作を台無しにする可能性が非常に高く、これを機能させるのに時間をかける価値がないかもしれません。

また、すべてのデバイスが実際にそのようにオーバーフロー メニューを表示するわけではないことを考慮する必要があります。たとえば、メニュー ボタンを備えたすべてのデバイス (Samsung のほぼすべてのデバイスや多くの古いデバイスと同様) は、オーバーフロー メニュー ボタンをまったく表示しません。したがって、おそらく再考して、問題を別の方法で解決する必要があります。

于 2013-11-06T00:25:55.803 に答える