2016-08-10 5 views
0

Ich benutze Vorlage Navigationsschublade. Ich kann Elemente aus Res hinzufügen, aber wenn ich Elemente aus meiner Datenbank hinzufüge, werden meine Elemente hinzugefügt, um die Navigationsschublade zu beenden.Position des Artikels in der Navigationsschublade

Dieser Code in meiner Tätigkeit:

 Menu menu = navigationView.getMenu(); 

    while (storesCursor.moveToNext()){ 
     menu.add(R.id.nav_group_stores, Menu.NONE, Menu.NONE, storesCursor.getString(storesCursor.getColumnIndex(DatabaseHelper.COLUMN_AUTHORIZATION_DOMAIN))); 
    } 
    storesCursor.close(); 

Und dieser Code in meinem menu.xml:

<item android:title="@string/nav_title_stores"> 
    <menu> 
     <group 
      android:id="@+id/nav_group_stores"> 
     </group> 
     <item 
      android:id="@+id/add_store" 
      android:title="Add new store"> 

     </item> 
    </menu> 
</item> 

Mein Problem: Einzelteile zu Ende hinzufügen in Navigationsschublade.

Was ich will? Ich möchte meine Artikel in der Mitte zwischen "nav_title_stores" und "add_store" hinzufügen.

Wie kann ich es tun? Vielen Dank.

+1

Hat es mit dem Index haben add-Methode nicht? So kann es in der Mitte einfügen. –

+0

Obwohl ich direkt darauf hinweise wird ein Artikel am Ende hinzugefügt. Ich kann nicht verstehen, was ich falsch mache –

Antwort

1
  1. Entfernen Sie add_store Menüelemente.
  2. Neuen Menüeintrag aus DB hinzufügen.
  3. hinzufügen add_store Menüpunkte

wie folgt aus:

Menu menu = navigationView.getMenu(); 

SubMenu titlesMenu = menu.getItem(0).getSubMenu(); 
titlesMenu.removeItem(R.id.add_store); 

while (storesCursor.moveToNext()){ 
    menu.add(R.id.nav_group_stores, Menu.NONE, Menu.NONE, storesCursor.getString(storesCursor.getColumnIndex(DatabaseHelper.COLUMN_AUTHORIZATION_DOMAIN))); 
} 
storesCursor.close(); 

titlesMenu.add(Menu.NONE, R.id.add_store, Menu.NONE, "Add new store"); 
+0

Es ist fast die richtige Entscheidung, ich habe 1 Zeile in Ihrem Rat geändert: titlesMenu.add() Aber trotzdem hast du mir geholfen. –

Verwandte Themen