Androidでは、Activityが呼び出されたときに、自動的にメニューのアイテムもロードされます。
自動的にロードされるんですけど、onCreateOptionsMenu(Menu menu)がコールされるので、その時に処理しちゃえば、メニューのアイテムも変更されます。
で、問題は、onCreateOptionsMenuの呼び出しが終わった後に、menuのアイテムを更新するには、どーすればいいのかです。
解決策:API 11以上
解決策:API11未満
API11未満の場合は、上記のメソッドは呼べず、どーすればいいんだよハゲと思ってたんですが、サポートライブラリーにあるみたいです。
参考:
http://stackoverflow.com/questions/10692755/how-do-i-hide-a-menu-item-in-the-actionbar
http://stackoverflow.com/questions/7878957/how-to-make-a-conditional-invalidateoptionsmenu-call-depending-on-the-api-leve
コードを見やすくするようにするか・・・?
自動的にロードされるんですけど、onCreateOptionsMenu(Menu menu)がコールされるので、その時に処理しちゃえば、メニューのアイテムも変更されます。
で、問題は、onCreateOptionsMenuの呼び出しが終わった後に、menuのアイテムを更新するには、どーすればいいのかです。
解決策:API 11以上
invalidateOptionsMenu();メニューの設定が終わった後に、上のメソッドを呼べばいいみたいです。
解決策:API11未満
API11未満の場合は、上記のメソッドは呼べず、どーすればいいんだよハゲと思ってたんですが、サポートライブラリーにあるみたいです。
ActivityCompat.invalidateOptionsMenu(ActivityName.this);
参考:
http://stackoverflow.com/questions/10692755/how-do-i-hide-a-menu-item-in-the-actionbar
http://stackoverflow.com/questions/7878957/how-to-make-a-conditional-invalidateoptionsmenu-call-depending-on-the-api-leve
コードを見やすくするようにするか・・・?