Ich habe ein Menü in NavigationView, die 7 Menüpunkte haben, einige dieser Menüpunkte sollten basierend auf Benutzereinstellungen unsichtbar sein und die verbleibenden sichtbaren Elemente sollten in anderer Reihenfolge angezeigt werden. Die Elemente sind bereits im XML-Menülayout definiert.Wie ändert man die Reihenfolge der MenuItems im Menü der NavigationView im Code?
Ich habe viel gegooglet, aber nichts zu bereits definierten Menüpunkten. Bei den meisten Lösungen wurde vorgeschlagen, die Menüelemente im Code zu erstellen und die Reihenfolge beim Erstellen festzulegen.
hier ist mein Menüpunkt XML-Layout:
<group android:checkableBehavior="single">
<item
android:id="@+id/Home_menuitem"
android:title="Home" />
<item
android:id="@+id/Register_menuitem"
android:title="Register" />
<item
android:id="@+id/Login_menuitem"
android:title="Login" />
<item
android:id="@+id/language_menuitem"
android:title="Language" />
<item
android:id="@+id/ContactUs_menuitem"
android:title="Contact Us" />
<item
android:id="@+id/Likes_menuitem"
android:title="Likes" />
<item
android:id="@+id/Subscription_menuitem"
android:title="Subscription" />
<item
android:id="@+id/Logout_menuitem"
android:title="Logout" />
</group>
sagt, dass ich den Auftrag in-Code (NICHT im XML) ändern will "Likes_menuitem" zu machen, oben angezeigt werden "Home_menuitem"
Wie Sie sehen können, wird die Add-Methode einen neuen Menüpunkt erstellen! es verwendet nicht das MenuItem, das Sie bereits im XML haben ... Ich suche nach einem einfachen Weg, es genau wie add (MenuItem, Order) zu machen –
Sie können das existierende Element mit 'findItem (int id) erhalten 'aber das zurückgegebene' MenuItem' hat keine Methode wie 'setOrder (int order)'. Vielleicht ist dies der einzige Weg, dies zu tun. Ist das nicht kompliziert, hast du es wenigstens versucht? – cylon
Ich weiß, es ist nicht kompliziert, aber ich war auf der Suche nach einem richtigen Weg, es zu tun! Trotzdem werde ich es gleich überprüfen und mit Feedback zurückkommen. –