onPrepareOptionsMenu を使う

MENUキーを押させるアプリは少なくなってきたが、やはり便利なキーだと思う。

onCreateOptionsMenu でメニューを作ってしまうと、Activity の状態によってメニュー項目を
変えるなんてことができない。

それでも、Activity の状態によってメニュー項目を変更したい時は、、
MENUキーを押したら毎回実行される onPrepareOptionsMenu でメニュー項目を作るしかない。

onPrepareOptionsMenu でMENU項目を作ることにした時に注意しなければならないのは、
  Menu.add (int groupId, int itemId, int order, CharSequence title)

を実行する前に、Menu.clear() を忘れないことだ。


まとめると、


public boolean onCreateOptionsMenu(Menu menu)
メニュー生成時だけに呼び出される


public boolean onOptionsItemSelected(MenuItem item)
メニュー項目が選択された


public boolean onPrepareOptionsMenu(Menu menu)
メニューが表示される前に、毎回実行する。


public void onOptionsMenuClosed(Menu menu)
メニューを閉じる時に、毎回実行する。


public void openOptionsMenu()
メニューを開く。