2016-06-25 4 views
0

문제가 있습니다. 내 앱에서 서랍 메뉴에 동적으로 메뉴 항목을 만들었습니다.Android : 동적 메뉴 항목에 맞춤 식별자를 할당하는 방법은 무엇인가요?

// 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를 설정

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

의 순서로 메뉴 항목에 내 사용자 정의 식별자를 할당하고 새로운 활동을 시작하고 싶습니다.

것이 중요 있다면 모르겠지만, 하드 메뉴 항목은 특정 식별자를 가지고 있고, 내 메뉴 항목은 항상 0이는 :

06-25 17:50:20.857 23358-23358/my.package.name W/id: 2131493021 
06-25 17:50:35.210 23358-23358/my.package.name W/id: 2131493022 
06-25 17:50:38.372 23358-23358/my.package.name W/id: 2131493023 
06-25 17:50:41.410 23358-23358/my.package.name W/id: 2131493024 
06-25 17:50:47.576 23358-23358/my.package.name W/id: 0 
06-25 17:50:51.903 23358-23358/my.package.name W/id: 0 
06-25 17:50:57.241 23358-23358/my.package.name W/id: 0 
06-25 17:51:00.788 23358-23358/my.package.name W/id: 0 

답변

1

는 사용자 ID를 만들 수 this answer를 참조하십시오. 그런 다음 기능을 setId으로 지정하십시오.

목록이 매우 동적 인 경우 번호를 할당 할 수 있습니다. ID는 int입니다.

+0

Thx가 작동하는 것 같습니다. –

관련 문제