如何在 android 中以编程方式将 id 添加到菜单项
How to add an id to the menu item programmatically in android
我想添加一个 id 名称以使用 onNavigationItemSelected 更改片段,但我无法以编程方式添加 id。
我需要 "setId ()" 之类的东西,如代码所示
menu.add("menu_name");
menu.getItem(i).setId("nav_item"+(i));
menu.getItem(i).setIcon(idIcon);
您可以使用 add (int groupId,
整数项目编号,
内部订单,
CharSequence title),第二个参数为菜单项id。
例如:
menu.add(0, 2, 0, "menu name");// 2 is the id value.
来自 Menu.java
add()
方法的签名:
/**
* Add a new item to the menu. This item displays the given title for its
* label.
*
* @param 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 {@link #NONE} if an item should not be in a
* group.
* @param itemId Unique item ID. Use {@link #NONE} if you do not need a
* unique ID.
* @param order The order for the item. Use {@link #NONE} if you do not care
* about the order. See {@link MenuItem#getOrder()}.
* @param title The text to display for the item.
* @return The newly added menu item.
*/
public MenuItem add(int groupId, int itemId, int order, CharSequence title);
这样使用:
int newId = 100;
MenuItem newItem = menu.add(0, newId, 0, "New Item");
它 returns 新菜单项。
我想添加一个 id 名称以使用 onNavigationItemSelected 更改片段,但我无法以编程方式添加 id。 我需要 "setId ()" 之类的东西,如代码所示
menu.add("menu_name");
menu.getItem(i).setId("nav_item"+(i));
menu.getItem(i).setIcon(idIcon);
您可以使用 add (int groupId, 整数项目编号, 内部订单, CharSequence title),第二个参数为菜单项id。 例如:
menu.add(0, 2, 0, "menu name");// 2 is the id value.
来自 Menu.java
add()
方法的签名:
/** * Add a new item to the menu. This item displays the given title for its * label. * * @param 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 {@link #NONE} if an item should not be in a * group. * @param itemId Unique item ID. Use {@link #NONE} if you do not need a * unique ID. * @param order The order for the item. Use {@link #NONE} if you do not care * about the order. See {@link MenuItem#getOrder()}. * @param title The text to display for the item. * @return The newly added menu item. */
public MenuItem add(int groupId, int itemId, int order, CharSequence title);
这样使用:
int newId = 100;
MenuItem newItem = menu.add(0, newId, 0, "New Item");
它 returns 新菜单项。