Dynamische Menüs in der Navigationsansicht

8

Ich habe dieses Layout:

%Vor%

Wenn wir also in NavigationView suchen, haben wir das Attribut:

%Vor%

Und ich habe einen XML-ID-Menüordner.

Ich möchte Dinamicament-Menüs erstellen, dh im Code sollte ich die 'MenuItem' -Objekte mounten und in NavigationView setzen.

Das ist richtig? Das ist beste Praxis? Dies ist möglich?

Hinweis: Mein Code arbeitet mit static drawer_menu , ich möchte es verbessern.

Ich warte.

[EDIT]

Ich mache es:

%Vor%

Aber dieser Fehler ist passiert:

  

06-27 15: 26: 15.538 15335-15335 /? E / AndroidRuntime: FATALE AUSNAHME: Haupt   Prozess: com.beispiel.sticdev30.newdrawer, PID: 15335   java.lang.RuntimeException: Die Aktivität konnte nicht gestartet werden ComponentInfo {com.example.sticdev30.newdrawer / com.example.sticdev30.newdrawer.MainActivity}: android.content.res.Resources $ NotFoundException: String-Ressourcen-ID # 0x1

KSMenuItem ist ein POJO mit meinen Menüdaten. In kmi.id informierte ich inkrementelle Ganzzahlen ...

Ich warte

    
Dimmy Magalhães 26.06.2015, 03:38
quelle

4 Antworten

1

Scheint wie kmi.getId() int (oder long ) zurückgibt.

Aber Menu.add (int) wird hinzugefügt Menü mit Titel aus den angegebenen String-Ressourcen, der normalerweise als R.string.something und nicht für normale Ganzzahlwerte dargestellt wird.

Menu.add (CharSequence) fügt ein Menü mit Titel von CharSequence hinzu, also müssen Sie einige int-to-string-Umwandlungen wie menu.add(kmi.getId() + "");

durchführen     
WKBae 26.07.2015, 18:32
quelle
30

Sie können NavigationView zur Laufzeit mit 2 Codezeilen mit der öffentlichen Methode inflateMenu neu aufblasen. In diesem Beispiel werde ich mit new_navigation_drawer_items.xml

neu inflatieren %Vor%     
Nam Trung 12.10.2015 03:06
quelle
11

Sie können Menüs dynamisch hinzufügen, indem Sie die folgenden Schritte ausführen:

Schritt 1. Erhalte Menüobjekte aus der Navigationsansicht NavigationView.getMenu ()

Schritt2. Fügen Sie ein beliebiges Element zum Menü hinzu, indem Sie Menü.add ()

    
Neeraj Kumar 26.06.2015 04:29
quelle
2

Wir können Menüelemente dynamisch hinzufügen / entfernen. Angenommen, wir haben diese Menüpunkte

%Vor%

"

In Activity können wir Menüelemente basierend auf unserer Bedingung hinzufügen oder entfernen

%Vor%

Ich hoffe, es wird helfen.

    
IMRA 27.01.2018 09:12
quelle

Tags und Links