- Android
- 2011-12-03 - 更新:2011-12-09
この記事は最終更新日から1年以上経過しています。
【メニューが作成されるとき、メニュー用XMLを読み込み】
public boolean onCreateOptionsMenu(Menu menu){ MenuInflater inflater = getMenuInflater(); inflater.inflate(R.menu.mumenu, menu); return true; }
【メニューの表示前に実行される】
public boolean onPrepareOptionsMenu(Menu menu) { //メニューアイテムの有効/無効切り替えなど menu.findItem(R.id.item01).setEnabled(false); return true; }
【メニューが選択されたとき】
public boolean onOptionsItemSelected(MenuItem item){ switch(item.getItemId()){ case R.id.item01: return true; case R.id.item02: return true; case R.id.item03: return true; default: return super.onOptionsItemSelected(item); } }
【res/menu/mumenu.xml】
<?xml version="1.0" encoding="utf-8"?> <menu xmlns:android="http://schemas.android.com/apk/res/android" > <item android:id="@+id/item01" android:icon="@drawable/menuitem01" android:title="@string/menuitem01" /> </menu>
※メニュー用xmlを追加するときは、resフォルダーを右クリックし、新規XMLファイルでリソースタイプをメニューで作成しましょう。
【サブメニューを使うとき】
<?xml version="1.0" encoding="utf-8"?> <menu xmlns:android="http://schemas.android.com/apk/res/android" > <item android:id="@+id/item01" android:icon="@drawable/menuitem01" android:title="@string/menuitem01"> <menu> <item android:id="@+id/item02" android:icon="@drawable/menuitem02" android:title="@string/menuitem02" /> </menu> </item> </menu>
【メニューに関するメソッド】
public void closeOptionsMenu() //メニューを閉じます(閉じられていれば何もしない) public boolean onCreateOptionsMenu(Menu menu) //メニュー生成時に呼び出されます public boolean onOptionsItemSelected(MenuItem item) //メニュー項目を通知します public boolean onPrepareOptionsMenu(Menu menu) //メニューが表示される前に呼ばれます(毎回) public void onOptionsMenuClosed (Menu menu) //メニューを閉じるときに呼ばれます(毎回) public void openOptionsMenu() //メニューを開きます(開かれていたら何もしない)
3,029 views