Example usage for android.support.v4.view SubMenu getItem

List of usage examples for android.support.v4.view SubMenu getItem

Introduction

In this page you can find the example usage for android.support.v4.view SubMenu getItem.

Prototype

@Override
    MenuItem getItem();

Source Link

Usage

From source file:com.actionbarsherlock.sample.demos.app.ActionBarSubMenus.java

@Override
public boolean onCreateOptionsMenu(Menu menu) {

    SubMenu subMenu1 = menu.addSubMenu("Action Item");
    subMenu1.add("Sample");
    subMenu1.add("Menu");
    subMenu1.add("Items");

    MenuItem subMenu1Item = subMenu1.getItem();
    subMenu1Item.setIcon(R.drawable.ic_title_share_default);
    subMenu1Item.setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS | MenuItem.SHOW_AS_ACTION_WITH_TEXT);

    SubMenu subMenu2 = menu.addSubMenu("Overflow Item");
    subMenu2.add("These");
    subMenu2.add("Are");
    subMenu2.add("Sample");
    subMenu2.add("Items");

    MenuItem subMenu2Item = subMenu2.getItem();
    subMenu2Item.setIcon(R.drawable.ic_compose);

    return super.onCreateOptionsMenu(menu);
}

From source file:com.actionbarsherlock.internal.view.menu.MenuBuilder.java

/** Bind the non-action items to a native menu. */
public boolean bindOverflowToNative(android.view.Menu menu,
        android.view.MenuItem.OnMenuItemClickListener listener,
        HashMap<android.view.MenuItem, MenuItemImpl> map) {
    final ArrayList<MenuItemImpl> nonActionItems = getNonActionItems();
    if (nonActionItems == null || nonActionItems.size() == 0) {
        return false;
    }/*from  w w w . j ava2 s . com*/

    menu.clear();
    boolean visible = false;
    for (MenuItemImpl nonActionItem : nonActionItems) {
        if (nonActionItem.isVisible()) {
            visible = true;

            android.view.MenuItem nativeItem;
            if (nonActionItem.hasSubMenu()) {
                android.view.SubMenu nativeSub = menu.addSubMenu(nonActionItem.getGroupId(),
                        nonActionItem.getItemId(), nonActionItem.getOrder(), nonActionItem.getTitle());

                SubMenuBuilder subMenu = (SubMenuBuilder) nonActionItem.getSubMenu();
                for (MenuItemImpl subItem : subMenu.getVisibleItems()) {
                    android.view.MenuItem nativeSubItem = nativeSub.add(subItem.getGroupId(),
                            subItem.getItemId(), subItem.getOrder(), subItem.getTitle());

                    nativeSubItem.setIcon(subItem.getIcon());
                    nativeSubItem.setOnMenuItemClickListener(listener);
                    nativeSubItem.setEnabled(subItem.isEnabled());
                    nativeSubItem.setIntent(subItem.getIntent());
                    nativeSubItem.setNumericShortcut(subItem.getNumericShortcut());
                    nativeSubItem.setAlphabeticShortcut(subItem.getAlphabeticShortcut());
                    nativeSubItem.setTitleCondensed(subItem.getTitleCondensed());
                    nativeSubItem.setCheckable(subItem.isCheckable());
                    nativeSubItem.setChecked(subItem.isChecked());

                    if (subItem.isExclusiveCheckable()) {
                        nativeSub.setGroupCheckable(subItem.getGroupId(), true, true);
                    }

                    map.put(nativeSubItem, subItem);
                }

                nativeItem = nativeSub.getItem();
            } else {
                nativeItem = menu.add(nonActionItem.getGroupId(), nonActionItem.getItemId(),
                        nonActionItem.getOrder(), nonActionItem.getTitle());
            }
            nativeItem.setIcon(nonActionItem.getIcon());
            nativeItem.setOnMenuItemClickListener(listener);
            nativeItem.setEnabled(nonActionItem.isEnabled());
            nativeItem.setIntent(nonActionItem.getIntent());
            nativeItem.setNumericShortcut(nonActionItem.getNumericShortcut());
            nativeItem.setAlphabeticShortcut(nonActionItem.getAlphabeticShortcut());
            nativeItem.setTitleCondensed(nonActionItem.getTitleCondensed());
            nativeItem.setCheckable(nonActionItem.isCheckable());
            nativeItem.setChecked(nonActionItem.isChecked());

            if (nonActionItem.isExclusiveCheckable()) {
                menu.setGroupCheckable(nonActionItem.getGroupId(), true, true);
            }

            map.put(nativeItem, nonActionItem);
        }
    }

    return visible;
}