2016-03-31 9 views
2

Ich versuche pragmatisch Menüelemente zu Menügruppe hinzuzufügen, aber ich habe keine Möglichkeit gefunden, das zu tun. Ich verwende die Navigationsansicht und fügte das unten erwähnte Menü hinzu:Hinzufügen von Elementen zur Menügruppe programmatisch in Navigationsansicht

<?xml version="1.0" encoding="utf-8"?> 
<menu xmlns:android="http://schemas.android.com/apk/res/android"> 

    <item 
     android:id="@+id/nav_lang_currency" 
     android:title="" /> 

    <item 
     android:id="@+id/nav_home" 
     android:title="" /> 

    <group android:id="@+id/nav_refer" /> 

    <item 
     android:id="@+id/nav_setting" 
     android:title="" /> 

    <item 
     android:id="@+id/nav_about_us" 
     android:title="" /> 

    <item 
     android:id="@+id/nav_logout" 
     android:title="" /> 

</menu> 

Alles sieht gut aus, wie erwähnt.

Ich möchte nur mehrere Menüelemente in nav_refer Gruppe zur Laufzeit nach Geschäftsanforderung hinzufügen, aber ich fand keine Möglichkeit, das zu tun.

Ich suchte Lösung auf SO aber fand keine Möglichkeit, das zu tun.

Bitte schlagen Sie mir vor, wie Sie mehrere Menüelemente in Gruppe zur Laufzeit hinzufügen.

Antwort

1

Sie können etwas tun:

NavigationView navView = (NavigationView) findViewById(R.id.navView); 
Menu menu = navView.getMenu(); 
SubMenu subMenu = menu.addSubMenu("sub menu"); 
subMenu.add("item 1"); 
subMenu.add("item 2"); 
subMenu.add("item 3"); 
4

Zum Menü zu einer bestimmten Gruppe hinzufügen möchten, rufen Sie diese Methode Menu.add(int groupId, int itemId, int order, CharSequence title)

Menu menu = navigationView.getMenu(); 
    menu.add(R.id.nav_refer, 123, Menu.NONE, "Title1"); 
    menu.add(R.id.nav_refer, 124, Menu.NONE, "Title2"); 
    menu.add(R.id.nav_refer, 125, Menu.NONE, "Title3"); 

Wichtige: Am Anfang, wenn Sie leere Gruppe haben dann neu hinzugefügte Elemente erscheinen im unteren Bereich. Um dies zu beheben, müssen Sie die Befehle für Gruppen angeben. fügen Sie ein Attribut für alle Ihre Gruppen hinzu android:orderInCategory="101"

Happy_Coding;

0

res erstellen -> Menü neues Layout

<menu xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:app="http://schemas.android.com/apk/res-auto"> 

    <group android:checkableBehavior="single"> 
     <item android:title="حساب کاربری"> 
      <menu> 
       <group android:title="حساب کاربری"> 
        <item android:title="ورود" /> 
        <item android:title="ثبت نام" /> 
       </group> 
      </menu> 
     </item> 
    </group> 
    <group android:checkableBehavior="single"> 
     <item android:title="سایت"> 
      <menu> 
       <group android:title="حساب کاربری"> 
        <item android:title="ورود" /> 
        <item android:title="ثبت نام" /> 
       </group> 
      </menu> 
     </item> 
    </group> 
</menu> 

Satz NavigationView zu App-Datei: menu = "@ Menü/drawer_view"

Ich hoffe, Ihnen helfen

Verwandte Themen