public class MenuWrapper extends Object implements Menu
CATEGORY_ALTERNATIVE, CATEGORY_CONTAINER, CATEGORY_MASK, CATEGORY_SECONDARY, CATEGORY_SHIFT, CATEGORY_SYSTEM, FIRST, FLAG_ALWAYS_PERFORM_CLOSE, FLAG_APPEND_TO_GROUP, FLAG_PERFORM_NO_CLOSE, NONE, USER_MASK, USER_SHIFT
Constructor and Description |
---|
MenuWrapper(android.view.Menu nativeMenu) |
Modifier and Type | Method and Description |
---|---|
MenuItem |
add(CharSequence title)
Add a new item to the menu.
|
MenuItem |
add(int titleRes)
Add a new item to the menu.
|
MenuItem |
add(int groupId,
int itemId,
int order,
CharSequence title)
Add a new item to the menu.
|
MenuItem |
add(int groupId,
int itemId,
int order,
int titleRes)
Variation on
Menu.add(int, int, int, CharSequence) that takes a
string resource identifier instead of the string itself. |
int |
addIntentOptions(int groupId,
int itemId,
int order,
android.content.ComponentName caller,
android.content.Intent[] specifics,
android.content.Intent intent,
int flags,
MenuItem[] outSpecificItems)
Add a group of menu items corresponding to actions that can be performed
for a particular Intent.
|
SubMenu |
addSubMenu(CharSequence title)
Add a new sub-menu to the menu.
|
SubMenu |
addSubMenu(int titleRes)
Add a new sub-menu to the menu.
|
SubMenu |
addSubMenu(int groupId,
int itemId,
int order,
CharSequence title)
Add a new sub-menu to the menu.
|
SubMenu |
addSubMenu(int groupId,
int itemId,
int order,
int titleRes)
Variation on
Menu.addSubMenu(int, int, int, CharSequence) that takes
a string resource identifier for the title instead of the string itself. |
void |
clear()
Remove all existing items from the menu, leaving it empty as if it had
just been created.
|
void |
close()
Closes the menu, if open.
|
MenuItem |
findItem(int id)
Return the menu item with a particular identifier.
|
MenuItem |
findItem(android.view.MenuItem nativeItem) |
MenuItem |
getItem(int index)
Gets the menu item at the given index.
|
boolean |
hasVisibleItems()
Return whether the menu currently has item items that are visible.
|
boolean |
isShortcutKey(int keyCode,
android.view.KeyEvent event)
Is a keypress one of the defined shortcut keys for this window.
|
boolean |
performIdentifierAction(int id,
int flags)
Execute the menu item action associated with the given menu identifier.
|
boolean |
performShortcut(int keyCode,
android.view.KeyEvent event,
int flags)
Execute the menu item action associated with the given shortcut
character.
|
void |
removeGroup(int groupId)
Remove all items in the given group.
|
void |
removeItem(int id)
Remove the item with the given identifier.
|
void |
setGroupCheckable(int group,
boolean checkable,
boolean exclusive)
Control whether a particular group of items can show a check mark.
|
void |
setGroupEnabled(int group,
boolean enabled)
Enable or disable all menu items that are in the given group.
|
void |
setGroupVisible(int group,
boolean visible)
Show or hide all menu items that are in the given group.
|
void |
setQwertyMode(boolean isQwerty)
Control whether the menu should be running in qwerty mode (alphabetic
shortcuts) or 12-key mode (numeric shortcuts).
|
int |
size()
Get the number of items in the menu.
|
android.view.Menu |
unwrap() |
public android.view.Menu unwrap()
public MenuItem add(CharSequence title)
Menu
public MenuItem add(int titleRes)
Menu
public MenuItem add(int groupId, int itemId, int order, CharSequence title)
Menu
add
in interface Menu
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 Menu.NONE
if an item should not be in a
group.itemId
- Unique item ID. Use Menu.NONE
if you do not need a
unique ID.order
- The order for the item. Use Menu.NONE
if you do not care
about the order. See MenuItem.getOrder()
.title
- The text to display for the item.public MenuItem add(int groupId, int itemId, int order, int titleRes)
Menu
Menu.add(int, int, int, CharSequence)
that takes a
string resource identifier instead of the string itself.add
in interface Menu
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 Menu.NONE
if an item should not be in a
group.itemId
- Unique item ID. Use Menu.NONE
if you do not need a
unique ID.order
- The order for the item. Use Menu.NONE
if you do not care
about the order. See MenuItem.getOrder()
.titleRes
- Resource identifier of title string.public SubMenu addSubMenu(CharSequence title)
Menu
SubMenu.getItem()
.addSubMenu
in interface Menu
title
- The text to display for the item.public SubMenu addSubMenu(int titleRes)
Menu
SubMenu.getItem()
.addSubMenu
in interface Menu
titleRes
- Resource identifier of title string.public SubMenu addSubMenu(int groupId, int itemId, int order, CharSequence title)
Menu
SubMenu.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.
addSubMenu
in interface Menu
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 Menu.NONE
if an item should not be in a
group.itemId
- Unique item ID. Use Menu.NONE
if you do not need a
unique ID.order
- The order for the item. Use Menu.NONE
if you do not care
about the order. See MenuItem.getOrder()
.title
- The text to display for the item.public SubMenu addSubMenu(int groupId, int itemId, int order, int titleRes)
Menu
Menu.addSubMenu(int, int, int, CharSequence)
that takes
a string resource identifier for the title instead of the string itself.addSubMenu
in interface Menu
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 Menu.NONE
if an item should not be in a group.itemId
- Unique item ID. Use Menu.NONE
if you do not need a unique ID.order
- The order for the item. Use Menu.NONE
if you do not care about the
order. See MenuItem.getOrder()
.titleRes
- Resource identifier of title string.public int addIntentOptions(int groupId, int itemId, int order, android.content.ComponentName caller, android.content.Intent[] specifics, android.content.Intent intent, int flags, MenuItem[] outSpecificItems)
Menu
Intent.CATEGORY_ALTERNATIVE
or
Intent.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 PackageManager.queryIntentActivityOptions(android.content.ComponentName, android.content.Intent[], android.content.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 MenuItem.setIntent(android.content.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.
addIntentOptions
in interface Menu
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 Menu.NONE
if the items should not be in
a group.itemId
- Unique item ID. Use Menu.NONE
if you do not need a
unique ID.order
- The order for the items. Use Menu.NONE
if you do not
care about the order. See MenuItem.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.Menu.FLAG_APPEND_TO_GROUP
,
MenuItem.setIntent(android.content.Intent)
,
PackageManager.queryIntentActivityOptions(android.content.ComponentName, android.content.Intent[], android.content.Intent, int)
public void removeItem(int id)
Menu
removeItem
in interface Menu
id
- The item to be removed. If there is no item with this
identifier, nothing happens.public void removeGroup(int groupId)
Menu
removeGroup
in interface Menu
groupId
- The group to be removed. If there are no items in this
group, nothing happens.public void clear()
Menu
public void setGroupCheckable(int group, boolean checkable, boolean exclusive)
Menu
MenuItem.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.setGroupCheckable
in interface 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.MenuItem.setCheckable(boolean)
,
MenuItem.setChecked(boolean)
public void setGroupVisible(int group, boolean visible)
Menu
setGroupVisible
in interface Menu
group
- The group of items to operate on.visible
- If true the items are visible, else they are hidden.MenuItem.setVisible(boolean)
public void setGroupEnabled(int group, boolean enabled)
Menu
setGroupEnabled
in interface Menu
group
- The group of items to operate on.enabled
- If true the items will be enabled, else they will be disabled.MenuItem.setEnabled(boolean)
public boolean hasVisibleItems()
Menu
hasVisibleItems
in interface Menu
public MenuItem findItem(int id)
Menu
public MenuItem findItem(android.view.MenuItem nativeItem)
public int size()
Menu
public MenuItem getItem(int index)
Menu
public void close()
Menu
public boolean performShortcut(int keyCode, android.view.KeyEvent event, int flags)
Menu
performShortcut
in interface Menu
keyCode
- The keycode of the shortcut key.event
- Key event message.flags
- Additional option flags or 0.Menu.FLAG_PERFORM_NO_CLOSE
public boolean isShortcutKey(int keyCode, android.view.KeyEvent event)
Menu
isShortcutKey
in interface Menu
keyCode
- the key code from KeyEvent
to check.event
- the KeyEvent
to use to help check.public boolean performIdentifierAction(int id, int flags)
Menu
performIdentifierAction
in interface Menu
id
- Identifier associated with the menu item.flags
- Additional option flags or 0.Menu.FLAG_PERFORM_NO_CLOSE
public void setQwertyMode(boolean isQwerty)
Menu
setQwertyMode
in interface Menu
isQwerty
- If true the menu will use alphabetic shortcuts; else it
will use numeric shortcuts.Copyright © 2011–2014. All rights reserved.