カテゴリー
SugiBlog Webエンジニアのためのお役立ちTips

コードからメニューを追加する

この記事は最終更新日から1年以上経過しています。

MenuItem android.view.Menu.add(int groupId, int itemId, int order, CharSequence title)
MenuItem android.view.Menu.add(CharSequence title)
SubMenu android.view.Menu.addSubMenu(CharSequence title)

メニュー設定の例

public boolean onCreateOptionsMenu(Menu menu){

  // メニュー設定
  menu.add(0, 10, 0, "メニュー1");
  // アイコン付メニュー設定
  menu.add(0, 20, 0, "メニュー2").setIcon(R.drawable.ic_lancher);

  // サブメニュー設定
  SubMenu sub = menu.addSubMenu("メニュー3");
  sub.add(0, 31, 0, "サブメニュー1");
  //sub.add(0, 31, 0, "サブメニュー1").setCheckable(true).setChecked(true); //一度に設定することもできる
  sub.add(0, 32, 0, "サブメニュー2");

  // サブメニューをグループ化
  sub.setGroupCheckable(0, true, true); //一括でチェック可能に

  // サブメニュー1をデフォルトに設定
  MenuItem item = sub.findItem(31);
  item.setChecked(true);

  return true;
}

public boolean onOptionsItemSelected(MenuItem item){
  switch(item.getItemId()){
    case 10:
      //メニュー1の処理
      return true;
    case 20:
      //メニュー2の処理
      return true;
    case 31:
      //サブメニュー1の処理
      return true;
    case 32:
      //サブメニュー2の処理
      return true;
    default:
      return super.onOptionsItemSelected(item);
  }
}

サブメニューに関するメソッドについて

void setGroupCheckable(int group, boolean checkable, boolean exclusive)

exclusiveがtrueの場合はラジオボタン、falseの場合はチェックボックスが表示されます。

この記事がお役に立ちましたらシェアお願いします
2,693 views

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です