In NavigationView meiner App hat mehrere Menüs, aber ich wollte Benutzer nur bestimmte Menüs zugreifen. Je nach Benutzerberechtigung kann der Benutzer nur seine zugänglichen Menüs anzeigen. Also habe ich einen Webservice erstellt, der mir eine Liste von Menüs zurückgibt. HierAndroid: hinzufügen MenuItem in NavigationView pragmatisch von Webservice
ist json Ausgabe von Menüzugriff
[
{
"id": "1",
"appId": "1",
"userId": "1",
"name": "Design List",
"icon": "http://some_website/Demo/images/menu/1.png",
"code": "dsn001"
},
{
"id": "2",
"appId": "1",
"userId": "1",
"name": "Price List",
"icon": "http://some_website/Demo/images/menu/2.png",
"code": "prc002"
},
....]
Zum Beispiel Benutzer nur Zugriff auf diese Menüs. Ich habe eine Navigationsansicht in der Anwendung bereit. Ich wollte diese Menüs zur Navigationsansicht hinzufügen.
In android ich eine Modellklasse für das Menü erstellt
MenuItems.java
public class MenuItems {
public String id;
public String appId;
public String userId;
public String name;
public String icon;
public String code;
}
In WebService Antwort, ich umgewandelt Antwort auf ArrayList<MenuItems>()
hier Webservice-Code ist.
ArrayList<MenuItems> menuItem = new ArrayList<MenuItems>();
.
.
MenuItems[] items = new Gson().fromJson(response, MenuItems[].class);
for (MenuItems m : items) {
menuItem.add(m);
}
In der Haupttätigkeit habe ich diesen Code.
Menu menu = navigationView.getMenu();
if (menuList != null) {
for (MenuItems items : menuList) {
MenuItem menuItem = menu.add(items.name);
menuItem.setIcon(new BitmapDrawable(items.icon));
}
}
Aber immer noch hat es nicht funktioniert.
Ich wollte diese Menüs mit Symbol in der Navigationsansicht anzeigen. Können wir ein Symbol mit der Picaso-Bibliothek anzeigen? bitte hilfe.
Meinten Sie Hinzufügen von Menüpunkten NavigationDrawer Ihrer APP? –
Sie müssen [dies] (http://stackoverflow.com/questions/30978114/add-a-listview-or-recyclerview-to-new-navigationview) tun. –
@HasifSeyd ja. Ich möchte ein Menü in o NavigationDrawer hinzufügen. –