Androidメニューの中に更に子メニューを作る

android-child-menu.png
@Override
    public boolean onOptionsItemSelected(MenuItem item){
        switch(item.getItemId()){
case MENUITEM_EXTRALAYER:
        {//caseの中をカッコで囲んでおくと変数のスコープがその中で完結して便利です。
            AlertDialog.Builder menu_builder = new AlertDialog.Builder(this);
            menu_builder.setTitle("親メニューの名前");
            DialogInterface.OnClickListener menu_itemListener = new DialogInterface.OnClickListener() {
                @Override public void onClick(DialogInterface dialog, int mode) {
                    switch(mode){
                    case MENUITEM_CHILD1:
                        break;
                    }
                }
            }
            String[] menu_type_items = new String[MENUITEM_CHILDREN_NUM];
            //アイテムの名前セット
            menu_type_items[MENUITEM_VICS] = "子メニュ−1";
            menu_type_items[MENUITEM_VICS_PROBE_ALL] = "子メニュー2";
            menu_type_items[MENUITEM_VICS_PROBE_REALTIME_ONLY] = "子メニュー3";
            menu_type_items[MENUITEM_VICS_PROBE_REALTIME_STATICS] = "子メニュー4";
            menu_type_items[MENUITEM_PROBE] ="子メニュー5";
            menu_builder.setItems(menu_type_items, menu_itemListener);
            AlertDialog menu_type_dialog = menu_builder.create();
            menu_type_dialog.show();
            break;
                    }

サポートサイト Wikidot.com