如何在android中以编程方式向菜单项添加id

如何在android中以编程方式向菜单项添加id,android,menu,menuitem,navigationview,Android,Menu,Menuitem,Navigationview,我想添加一个id名称来更改onNavigationItemSelected的片段,但我无法以编程方式添加id。 我需要类似于所示代码的“setId()” menu.add("menu_name"); menu.getItem(i).setId("nav_item"+(i)); menu.getItem(i).setIcon(idIcon); 您可以使用,第二个参数是菜单项的id。 例如: menu.add(0, 2, 0, "menu name");// 2 is the id value.

我想添加一个id名称来更改onNavigationItemSelected的片段,但我无法以编程方式添加id。 我需要类似于所示代码的“setId()”

menu.add("menu_name");
menu.getItem(i).setId("nav_item"+(i));
menu.getItem(i).setIcon(idIcon);
您可以使用,第二个参数是菜单项的id。 例如:

menu.add(0, 2, 0, "menu name");// 2 is the id value.

Menu.java
中,有
add()
方法的签名:

像这样使用它:

int newId = 100;
MenuItem newItem = menu.add(0, newId, 0, "New Item");

它返回新的菜单项。

此id可以是任何数字吗?或者我应该担心什么?您可能会用它来检查单击了哪个菜单项。因此,您必须确保此id与其他菜单项id不同。
public MenuItem add(int groupId, int itemId, int order, CharSequence title);
int newId = 100;
MenuItem newItem = menu.add(0, newId, 0, "New Item");