我在这里看到了代码。有人可以解释什么是Menu.First以及为什么+1?我在Android开发者文档中找不到它。
private static final int MENU_ADD = Menu.FIRST;
private static final int MENU_LIST = MENU.FIRST + 1;
private static final int MENU_REFRESH = MENU.FIRST + 2;
private static final int MENU_LOGIN = MENU.FIRST + 3;
答案 0 :(得分:0)
答案 1 :(得分:0)
在the accepted answer referenced in your comments的上下文中,海报只是将这些值用作动态添加菜单项的ID,以便点击可以在inOptionsItemSelected()
中注册。
例如,假设您想动态地向menu
添加一个新按钮,将屏幕变为蓝色,您可以创建一个名为MENU_TURN_SCREEN_BLUE
的常量值。这将存储一个随后可用作id的任意数字。例如(请记住Menu.FIRST = 1
:
private static final int MENU_TURN_SCREEN_BLUE = Menu.FIRST + 60;
或
private static final int MENU_TURN_SCREEN_BLUE = 69084;
两者都有效。现在,当您使用add()
方法向菜单添加新项目时,您可以使用此值:
menu.add(0, TURN_SCREEN_BLUE, 0, "Press To Turn Screen Blue");
你当然可以直接写入数字,但是常量是有用的(除其他原因外),以避免代码中因错误输入错误而导致的错误。
请注意,还有其他方法可以生成唯一ID - 请参阅this question了解详细信息。