2016-07-21 4 views
0

Ich versuche, eine Abonnementliste in einer Navigationsansicht zu erstellen. Wenn Sie ein Element abonnieren, wird die Kategorie dieses Elements in der Navigationsansicht angezeigt und wenn Sie sich von jedem Element abmelden Eine Kategorie sollte diese Kategorie aus dem Menü der Navigationsansicht entfernen.Entfernen eines Android-Menüelements aus Code

Problem ist, die Kategorie zu entfernen Ich muss die gesamte Liste löschen und fügen Sie dann Element für Element hinzu, aber die Navigationsansicht enthält nicht nur die Liste der Abonnements: Es ermöglicht dem Benutzer auch, durch verschiedene Aktivitäten zu navigieren. Wenn ich die Methode menu.clear() verwende, werden die Navigationselemente ebenfalls entfernt.

Um sie noch einmal hinzuzufügen, brauche ich als Parameter die ID des Elements, die ID der Gruppe, die Order int und den Titel. Ich weiß, wo die IDs und Titel zu finden sind, da sie im XML-Code codiert sind, aber ich weiß nicht, wie ich die Reihenfolge in der Liste finde oder was das ist.

Auch wenn Sie eine einfachere oder bessere Lösung haben, lassen Sie es mich wissen.

Antwort

0

Mir wurde gesagt, das RemoveItem könnte Probleme verursachen, also habe ich versucht, das zu vermeiden.

Was ich getan habe, war die Element- und Gruppen-ID aus den Elementen zu finden, die ich nicht löschen wollte, lösche die Liste und füge dann die Elemente mit einer erfundenen Reihenfolge hinzu (Ich habe einfach eine Variable erstellt und für jedes Element erhöht Ich brauchte), dann fügen Sie die Elementnamen hinzu, die ich für die Elemente ohne Interaktion benötigte.

0

Sie können Menü

<group...> 

suchen, dass in der Android-Dokumentation verwenden. Dann setGroupVisible/aktiviert nach Bedarf.

0

Da Sie die ID des Menüelements kennen, können Sie einfach menu.removeItem(id) anrufen, um das Element zu entfernen.

Verwandte Themen