私はNavigationViewに7つのメニュー項目を持つメニューを持っていますが、これらのメニュー項目のいくつかはユーザー設定に基づいて表示されず、残りの表示項目は異なる順序で表示される必要があります。項目はすでにXMLメニューレイアウトで定義されています。NavigationViewのメニューでMenuItemの順序を変更するにはどうすればいいですか?
私はたくさん検索しましたが、すでに定義されているメニュー項目には何も関係ありません。ほとんどのソリューションでは、コードでメニュー項目を作成し、作成中にその順序を設定することを提案していました。
<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にNOT) "Likes_menuitem" は上記に表示されるようにするコードでの順序を変更したいと言う:ここ
は私のメニュー項目のXMLレイアウトであります"Home_menuitem"
このように、Addメソッドは新しいメニュー項目を作成します。あなたは既にXMLでそれを持っているMenuItemを使用しません...(MenuItem、Order)を追加するのと同じように簡単な方法を探しています –
'findItem(int id) '返された' MenuItem'には 'setOrder(int order)'のようなメソッドはありません。だから多分これがこれを行う唯一の方法です。複雑ではないですが、少なくとも試しましたか? – cylon
私はそれが複雑ではないことを知っていますが、私はそれを行う適切な方法を探していた!とにかく、私は今それをチェックし、フィードバックを得る。 –