2015-11-28 13 views
8

MamDodaj MenuItem do Menu w konkretnej pozycji lub grupy programowo

<android.support.design.widget.NavigationView 
    app:menu="@menu/drawer" 
/> 

z następujących elementów menu:

<item 
    android:id="@+id/main_item" 
    android:icon="@drawable/ic_menu_main" 
    android:title="@string/app_name"/> 

<group 
    android:id="@+id/some_group" 
    android:checkableBehavior="single"/> 

<item 
    android:id="@+id/teams_item" 
    android:icon="@drawable/ic_menu_teams" 
    android:title="@string/teams"/> 

teraz chcę dodać element albo do some_group lub po prostu pod tym.

Próbowałem:

MenuItem mi = menu.add(R.id.soume_group, someId, NONE, "some name"); 

lub

MenuItem mi = menu.add(R.id.soume_group, someId, 2, "some name"); 

ale elementy są dodawane na dole menu.

Jak naprawić mój problem?

TIA

Odpowiedz

13

Można użyć orderInCategory aby określić kolejność

<item 
     android:id="@+id/main_item" 
     android:icon="@drawable/ic_menu_main" 
     android:orderInCategory="100" 
     android:title="@string/app_name"/> 

    <item 
     android:id="@+id/teams_item" 
     android:icon="@drawable/ic_menu_teams" 
     android:orderInCategory="1000"  
     android:title="@string/teams"/> 

jeśli chcesz wstawić między main_item i teams_item można użyć orderInCategory że jest między

// 500 is between main_item(100) and teams_item(1000) 
MenuItem mi = menu.add(NONE, someId, 500, "some name"); 
Powiązane problemy