Activities
については明らかです-メニューが表示される直前にメソッドが呼び出されています。しかし、ActionBar
の場合はどうでしょうか常に表示されます? menuItems
を動的に更新するために呼び出されるようにトリガーするにはどうすればよいですか?
ドキュメントで提案されているように、invalidateOptionsMenu()を使用してonPrepareOptionMenu()メソッドをトリガーします。
On Android 3.0 and higher, you must call invalidateOptionsMenu() when you want to update the menu, because the menu is always open. The system will then call onPrepareOptionsMenu() so you can update the menu items.
最小SDKバージョンがHoneycomb(別名Android 3.0別名APIレベル11)未満であり、ActionBarActivityを使用している場合は、invalidateOptionsMenu()のサポートライブラリバージョンであるsupportInvalidateOptionsMenu()を呼び出すことができます。 。
OnCreate()への着信インテントに基づいてメニューが変更された場合は、onPrepareOptionMenu()で更新を行うことができます。アクティビティのライフサイクルの後半でメニューを動的に変更する場合は、invalideOptionsMenuまたはsupportInvalidateOptionsMenuを呼び出す必要があります。最小およびターゲットSDKバージョン。