Ich habe dieses Layout:
%Vor%
Wenn wir also in NavigationView
suchen, haben wir das Attribut:
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
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() + "");
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 ()
Tags und Links android navigationview