android.view.Menu |
Known Indirect Subclasses |
Interface for managing the items in a menu.
By default, every Activity supports an options menu of actions or options. You can add items to this menu and handle clicks on your additions. The easiest way of adding menu items is inflating an XML file into the Menu via MenuInflater. The easiest way of attaching code to clicks is via onOptionsItemSelected(MenuItem) and onContextItemSelected(MenuItem).
Different menu types support different features:
Constants | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
int | CATEGORY_ALTERNATIVE | Category code for the order integer for items/groups that are alternative actions on the data that is currently displayed -- or/add this with your base value. | |||||||||
int | CATEGORY_CONTAINER | Category code for the order integer for items/groups that are part of a container -- or/add this with your base value. | |||||||||
int | CATEGORY_SECONDARY | Category code for the order integer for items/groups that are user-supplied secondary (infrequently used) options -- or/add this with your base value. | |||||||||
int | CATEGORY_SYSTEM | Category code for the order integer for items/groups that are provided by the system -- or/add this with your base value. | |||||||||
int | FIRST | First value for group and item identifier integers. | |||||||||
int | FLAG_ALWAYS_PERFORM_CLOSE | Flag for performShortcut(int, KeyEvent, int): if set, always close the menu after executing the shortcut. | |||||||||
int | FLAG_APPEND_TO_GROUP | Flag for addIntentOptions(int, int, int, ComponentName, Intent[], Intent, int, MenuItem[]): if set, do not automatically remove any existing menu items in the same group. | |||||||||
int | FLAG_PERFORM_NO_CLOSE | Flag for performShortcut(int, KeyEvent, int): if set, do not close the menu after executing the shortcut. | |||||||||
int | NONE | Value to use for group and item identifier integers when you don't care about them. |
Public Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Add a new item to the menu.
| |||||||||||
Add a new item to the menu.
| |||||||||||
Variation on add(int, int, int, CharSequence) that takes a
string resource identifier instead of the string itself.
| |||||||||||
Add a new item to the menu.
| |||||||||||
Add a group of menu items corresponding to actions that can be performed
for a particular Intent.
| |||||||||||
Add a new sub-menu to the menu.
| |||||||||||
Variation on addSubMenu(int, int, int, CharSequence) that takes
a string resource identifier for the title instead of the string itself.
| |||||||||||
Add a new sub-menu to the menu.
| |||||||||||
Add a new sub-menu to the menu.
| |||||||||||
Remove all existing items from the menu, leaving it empty as if it had
just been created.
| |||||||||||
Closes the menu, if open.
| |||||||||||
Return the menu item with a particular identifier.
| |||||||||||
Gets the menu item at the given index.
| |||||||||||
Return whether the menu currently has item items that are visible.
| |||||||||||
Is a keypress one of the defined shortcut keys for this window.
| |||||||||||
Execute the menu item action associated with the given menu identifier.
| |||||||||||
Execute the menu item action associated with the given shortcut
character.
| |||||||||||
Remove all items in the given group.
| |||||||||||
Remove the item with the given identifier.
| |||||||||||
Control whether a particular group of items can show a check mark.
| |||||||||||
Enable or disable all menu items that are in the given group.
| |||||||||||
Show or hide all menu items that are in the given group.
| |||||||||||
Control whether the menu should be running in qwerty mode (alphabetic
shortcuts) or 12-key mode (numeric shortcuts).
| |||||||||||
Get the number of items in the menu.
|
Category code for the order integer for items/groups that are alternative actions on the data that is currently displayed -- or/add this with your base value.
Category code for the order integer for items/groups that are part of a container -- or/add this with your base value.
Category code for the order integer for items/groups that are user-supplied secondary (infrequently used) options -- or/add this with your base value.
Category code for the order integer for items/groups that are provided by the system -- or/add this with your base value.
First value for group and item identifier integers.
Flag for performShortcut(int, KeyEvent, int): if set, always close the menu after executing the shortcut. Closing the menu also resets the prepared state.
Flag for addIntentOptions(int, int, int, ComponentName, Intent[], Intent, int, MenuItem[]): if set, do not automatically remove any existing menu items in the same group.
Flag for performShortcut(int, KeyEvent, int): if set, do not close the menu after executing the shortcut.
Value to use for group and item identifier integers when you don't care about them.
Add a new item to the menu. This item displays the given title for its label.
titleRes | Resource identifier of title string. |
---|
Add a new item to the menu. This item displays the given title for its label.
groupId | The group identifier that this item should be part of. This can be used to define groups of items for batch state changes. Normally use NONE if an item should not be in a group. |
---|---|
itemId | Unique item ID. Use NONE if you do not need a unique ID. |
order | The order for the item. Use NONE if you do not care about the order. See getOrder(). |
title | The text to display for the item. |
Variation on add(int, int, int, CharSequence) that takes a string resource identifier instead of the string itself.
groupId | The group identifier that this item should be part of. This can also be used to define groups of items for batch state changes. Normally use NONE if an item should not be in a group. |
---|---|
itemId | Unique item ID. Use NONE if you do not need a unique ID. |
order | The order for the item. Use NONE if you do not care about the order. See getOrder(). |
titleRes | Resource identifier of title string. |
Add a new item to the menu. This item displays the given title for its label.
title | The text to display for the item. |
---|
Add a group of menu items corresponding to actions that can be performed for a particular Intent. The Intent is most often configured with a null action, the data that the current activity is working with, and includes either the CATEGORY_ALTERNATIVE or CATEGORY_SELECTED_ALTERNATIVE to find activities that have said they would like to be included as optional action. You can, however, use any Intent you want.
See queryIntentActivityOptions(ComponentName, Intent[], Intent, int) for more * details on the caller, specifics, and intent arguments. The list returned by that function is used to populate the resulting menu items.
All of the menu items of possible options for the intent will be added with the given group and id. You can use the group to control ordering of the items in relation to other items in the menu. Normally this function will automatically remove any existing items in the menu in the same group and place a divider above and below the added items; this behavior can be modified with the flags parameter. For each of the generated items setIntent(Intent) is called to associate the appropriate Intent with the item; this means the activity will automatically be started for you without having to do anything else.
groupId | The group identifier that the items should be part of. This can also be used to define groups of items for batch state changes. Normally use NONE if the items should not be in a group. |
---|---|
itemId | Unique item ID. Use NONE if you do not need a unique ID. |
order | The order for the items. Use NONE if you do not care about the order. See getOrder(). |
caller | The current activity component name as defined by queryIntentActivityOptions(). |
specifics | Specific items to place first as defined by queryIntentActivityOptions(). |
intent | Intent describing the kinds of items to populate in the list as defined by queryIntentActivityOptions(). |
flags | Additional options controlling how the items are added. |
outSpecificItems | Optional array in which to place the menu items that were generated for each of the specifics that were requested. Entries may be null if no activity was found for that specific action. |
Add a new sub-menu to the menu. This item displays the given title for its label. To modify other attributes on the submenu's menu item, use getItem().
titleRes | Resource identifier of title string. |
---|
Variation on addSubMenu(int, int, int, CharSequence) that takes a string resource identifier for the title instead of the string itself.
groupId | The group identifier that this item should be part of. This can also be used to define groups of items for batch state changes. Normally use NONE if an item should not be in a group. |
---|---|
itemId | Unique item ID. Use NONE if you do not need a unique ID. |
order | The order for the item. Use NONE if you do not care about the order. See getOrder(). |
titleRes | Resource identifier of title string. |
Add a new sub-menu to the menu. This item displays the given title for its label. To modify other attributes on the submenu's menu item, use getItem().
title | The text to display for the item. |
---|
Add a new sub-menu to the menu. This item displays the given title for its label. To modify other attributes on the submenu's menu item, use getItem().
Note that you can only have one level of sub-menus, i.e. you cannnot add a subMenu to a subMenu: An UnsupportedOperationException will be thrown if you try.
groupId | The group identifier that this item should be part of. This can also be used to define groups of items for batch state changes. Normally use NONE if an item should not be in a group. |
---|---|
itemId | Unique item ID. Use NONE if you do not need a unique ID. |
order | The order for the item. Use NONE if you do not care about the order. See getOrder(). |
title | The text to display for the item. |
Remove all existing items from the menu, leaving it empty as if it had just been created.
Closes the menu, if open.
Return the menu item with a particular identifier.
id | The identifier to find. |
---|
Gets the menu item at the given index.
index | The index of the menu item to return. |
---|
IndexOutOfBoundsException | when index < 0 || >= size()
|
---|
Return whether the menu currently has item items that are visible.
Execute the menu item action associated with the given menu identifier.
id | Identifier associated with the menu item. |
---|---|
flags | Additional option flags or 0. |
Execute the menu item action associated with the given shortcut character.
keyCode | The keycode of the shortcut key. |
---|---|
event | Key event message. |
flags | Additional option flags or 0. |
Remove all items in the given group.
groupId | The group to be removed. If there are no items in this group, nothing happens. |
---|
Remove the item with the given identifier.
id | The item to be removed. If there is no item with this identifier, nothing happens. |
---|
Control whether a particular group of items can show a check mark. This is similar to calling setCheckable(boolean) on all of the menu items with the given group identifier, but in addition you can control whether this group contains a mutually-exclusive set items. This should be called after the items of the group have been added to the menu.
group | The group of items to operate on. |
---|---|
checkable | Set to true to allow a check mark, false to disallow. The default is false. |
exclusive | If set to true, only one item in this group can be checked at a time; checking an item will automatically uncheck all others in the group. If set to false, each item can be checked independently of the others. |
Enable or disable all menu items that are in the given group.
group | The group of items to operate on. |
---|---|
enabled | If true the items will be enabled, else they will be disabled. |
Show or hide all menu items that are in the given group.
group | The group of items to operate on. |
---|---|
visible | If true the items are visible, else they are hidden. |
Control whether the menu should be running in qwerty mode (alphabetic shortcuts) or 12-key mode (numeric shortcuts).
isQwerty | If true the menu will use alphabetic shortcuts; else it will use numeric shortcuts. |
---|
Get the number of items in the menu. Note that this will change any times items are added or removed from the menu.