Android:如何将自定义标识符分配给动态菜单项?

时间:2016-06-25 15:37:26

标签: android android-activity menu

有问题。 在我的应用程序中,我在抽屉菜单中动态构建了菜单项。

Set rst = CurrentDb.OpenRecordset("select [FacBookID] from FacilitiesBooking where ([FacilityID] = " & Me!Facilities.Column(0, facilitySelect) & " AND [EventDate] = #" & Format(Me!EventDate.Value, "yyyy\/mm\/dd") & "#)")

好的,它运作良好。现在我想点击这些项目做出反应。我想在

中按顺序将自定义标识符分配给菜单项
    // data comes from database
    ArrayList<String> groupsName = mDbHelper.getAllGroupsName();

    Menu m = navigationView.getMenu();
    SubMenu userGroupsLessonsMenu = m.addSubMenu(R.string.your_groups);

    for (String groupName : groupsName) {
      userGroupsLessonsMenu.add(groupName);
    };

将此ID设置为intent并开始新活动。

我不知道它是否重要,但硬编码的菜单项有特定的标识符,我的菜单项总是有0:

    public boolean onNavigationItemSelected(MenuItem item) {
    int id = item.getItemId();

1 个答案:

答案 0 :(得分:1)

请参阅this answer以创建自定义ID。然后,使用函数setId指定它们。

如果列表非常动态,那么您可以只分配数字。 ID只是int