我在NavigationView中有一個菜單,其中有7個菜單項,其中一些菜單項應該根據用戶設置隱身,剩下的可見項應以不同的順序顯示。這些項目已經在XML菜單佈局中定義。如何在代碼中更改NavigationView菜單中MenuItems的順序?
我已經GOOGLE了很多,但沒有任何關係到已定義的菜單項。大多數解決方案都建議在代碼中創建菜單項並在創建菜單時設置順序。
這裏是我的菜單項XML佈局:
<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>
說我要改變代碼順序(不是XML),使 「Likes_menuitem」 被上面顯示「Home_menuitem」
正如你所看到的Add方法將創建新的菜單項!它不使用MenuItem你已經在XML中...我正在尋找一個簡單的方法來做到這一點,就像add(MenuItem,Order) –
你可以用'findItem(int id) '但返回的'MenuItem'沒有像'setOrder(int order)'這樣的方法。所以也許這是做到這一點的唯一方法。不復雜,你至少嘗試過嗎? – cylon
我知道這並不複雜,但我正在尋找一種合適的方式來做到這一點!無論如何,我會立即檢查並回饋。 –