Example usage for android.support.v4.view MenuItem hasSubMenu

List of usage examples for android.support.v4.view MenuItem hasSubMenu

Introduction

In this page you can find the example usage for android.support.v4.view MenuItem hasSubMenu.

Prototype

public boolean hasSubMenu();

Source Link

Document

Check whether this item has an associated sub-menu.

Usage

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

public void restoreActionViewStates(Bundle states) {
    if (states == null) {
        return;//  ww w. j ava 2 s  .c  o m
    }

    SparseArray<Parcelable> viewStates = states.getSparseParcelableArray(getActionViewStatesKey());

    final int itemCount = size();
    for (int i = 0; i < itemCount; i++) {
        final MenuItem item = getItem(i);
        final View v = item.getActionView();
        if (v != null && v.getId() != View.NO_ID) {
            v.restoreHierarchyState(viewStates);
        }
        if (item.hasSubMenu()) {
            final SubMenuBuilder subMenu = (SubMenuBuilder) item.getSubMenu();
            subMenu.restoreActionViewStates(states);
        }
    }
}

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

public boolean performItemAction(MenuItem item, int flags) {
    MenuItemImpl itemImpl = (MenuItemImpl) item;

    if (itemImpl == null || !itemImpl.isEnabled()) {
        return false;
    }//from  w  w  w.  ja  va  2  s. com

    boolean invoked = itemImpl.invoke();

    if (item.hasSubMenu()) {
        close(false);

        final SubMenuBuilder subMenu = (SubMenuBuilder) item.getSubMenu();
        invoked |= dispatchSubMenuSelected(subMenu);
        if (!invoked)
            close(true);
    } else {
        if ((flags & FLAG_PERFORM_NO_CLOSE) == 0) {
            close(true);
        }
    }

    return invoked;
}

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

public void saveActionViewStates(Bundle outStates) {
    SparseArray<Parcelable> viewStates = null;

    final int itemCount = size();
    for (int i = 0; i < itemCount; i++) {
        final MenuItem item = getItem(i);
        final View v = item.getActionView();
        if (v != null && v.getId() != View.NO_ID) {
            if (viewStates == null) {
                viewStates = new SparseArray<Parcelable>();
            }// w  ww.  ja  v  a  2 s  .  c  om
            v.saveHierarchyState(viewStates);
        }
        if (item.hasSubMenu()) {
            final SubMenuBuilder subMenu = (SubMenuBuilder) item.getSubMenu();
            subMenu.saveActionViewStates(outStates);
        }
    }

    if (viewStates != null) {
        outStates.putSparseParcelableArray(getActionViewStatesKey(), viewStates);
    }
}