2017-03-21 3 views
1

다음 코드를 사용하여 탐색 창에 메뉴 항목을 동적으로 만들었습니다.동적으로 생성 된 메뉴 항목 위치 탐색함에 동일한 항목 ID를 부여합니다.

Menu m; 
    navigationView = (NavigationView) findViewById(R.id.nav_view); 
     navigationView.setNavigationItemSelectedListener(this); 
     m = navigationView.getMenu(); 
     m.add("menu item 1"); 
     m.add("menu item 2"); 

잘 작동하고 항목이 동적으로 생성되고 있습니다. 하지만 클릭 한 메뉴 항목의 위치를 ​​가져 오려면 다음 코드를 사용할 때마다 "0"이라고 표시됩니다.

@SuppressWarnings("StatementWithEmptyBody") 
@Override 
public boolean onNavigationItemSelected(MenuItem item) { 
    // Handle navigation view item clicks here. 
    int id = item.getItemId(); 


    Toast.makeText(order.this , "pos is : " + id ,Toast.LENGTH_LONG).show(); 

    DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout); 
    drawer.closeDrawer(GravityCompat.START); 
    return true; 
} 

어떤 도움을 주시면 감사하겠습니다. 친절하게 말해서 나는 나를 잘못되게하고있다.

감사합니다.

답변

0

더 많은 매개 변수가있는 Menu.add()을 사용하십시오. 문서

에서

https://developer.android.com/reference/android/view/Menu.html#add(int,int,int,java.lang.CharSequence)

사용 : 코드에서

MenuItem add (int groupId, 
       int itemId, 
       int order, 
       CharSequence title) 

이 마법처럼 일했다는 메뉴 항목

menu.add(0, 0, 0, "menu item 1") 
menu.add(0, 1, 0, "menu item 2") 
menu.add(0, 2, 0, "menu item 3") 
+1

에 고유 itemId을 제공합니다. 우리가 성장하는 특히 stackoverflow, 고마워요! – kamranbhatti585