So fügen Sie NavigationView programmgesteuert anstelle von Menü xml hinzu

8

Ich versuche, submenu -Elemente programmatisch zu NavigationView hinzuzufügen. Ich kann Elemente in menu hinzufügen, aber nicht in submenu

Das Hinzufügen von Elementen zum Menü funktioniert

%Vor%

Aber das Hinzufügen von Elementen zum Untermenü funktioniert nicht

%Vor%     
Libin 03.06.2015, 01:37
quelle

2 Antworten

12

Der Trick, BaseAdapter.notifyDataSetChanged für die zugrunde liegende Adapter aufzurufen das enthält die Menüpunkte. Sie können Reflection verwenden, um das ListView zu erhalten oder einfach über die NavigationView Kinder, bis Sie es erreichen.

Dies ist nicht der aktuellste Code, da, soweit ich weiß, Google die letzten Änderungen nicht an die Support-Bibliothek weitergeleitet hat, sondern im Wesentlichen NavigationMenuPresenter.prepareMenuItems wird aufgerufen, wenn Sie BaseAdpater.notifyDataSetChanged aufrufen.

Wenn Sie jedoch die neueste Quelle anzeigen möchten, können Sie sie über den SDK-Manager herunterladen. Wählen Sie Quellen für Android MNC . Navigieren Sie dann zu

%Vor%

%Vor%

Ergebnisse

    
adneal 03.06.2015, 02:58
quelle
1

Jemand hat einen Weg gefunden, dies durch Reflexion und den Zugriff auf ein privates Feld zu tun. Es ist nicht schön, aber es wird für den Moment funktionieren. Ссылка

    
Zadrox 03.06.2015 02:24
quelle