文書によれば、メニューに項目をプログラムで追加するには、thisを使用します。Android - ナビゲーションビューメニューの上部に項目を追加できない
Menu.add(Menu.NONE, Menu.NONE, 0, "item");
私はナビゲーションビューのメニューの一番上にアイテムを追加することができますが、これにもかかわらず、新しく作成されたアイテムは下部に追加されます。何が問題なの?
文書によれば、メニューに項目をプログラムで追加するには、thisを使用します。Android - ナビゲーションビューメニューの上部に項目を追加できない
Menu.add(Menu.NONE, Menu.NONE, 0, "item");
私はナビゲーションビューのメニューの一番上にアイテムを追加することができますが、これにもかかわらず、新しく作成されたアイテムは下部に追加されます。何が問題なの?
@Override
public boolean onCreateOptionsMenu(Menu menu) {
menu.add(Menu.NONE, Menu.NONE, 1000, "Item First");
menu.add(Menu.NONE, Menu.NONE, 500, "Item Second");
menu.add(Menu.NONE, Menu.NONE, 200, "Item Third");
return true;
}
// 200 is lowest 500 in middle and finally 1000 so the order is like below
あなたのために働く必要があります!
注:あなたのような両方のXMLとコードを使用する場合は、以下の
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
menu.add(Menu.NONE, Menu.NONE, 0, "1000"); //<---- It's 0
menu.add(Menu.NONE, Menu.NONE, 500, "500");
menu.add(Menu.NONE, Menu.NONE, 200, "200");
return true;
}
とxml:
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<item
android:id="@+id/action_settings"
// <----------not Given
android:title="5000"
app:showAsAction="never" />
<item
android:id="@+id/main_item"
android:orderInCategory="100"
android:title="200"/>
<item
android:id="@+id/teams_item"
android:orderInCategory="800"
android:title="800"/>
</menu>
を、あなたはに似た項目にorderInCategory
を追加するのを忘れた場合one次に、これらの項目がxmlを優先して先頭に移動します(例を確認してください)
ご協力いただきありがとうございます! –
@Alsparkzその場合のあなたの問題は何ですか? –
はい、私は単に注文番号として0を設定することで、アイテムがリストのようにメニューの上部に追加されると思っていました –
android:orderInCategory
を使用して、メニューを正しい場所に配置する必要があります。 Integer
の上にメニューが表示されます。あなたのメニューのすべての項目と、追加するときにも同様にandroid:orderInCategory
を入力してください。
残りのアイテムはどのようにメニューに追加されますか? –
@Alsparkz私の答えがあなたを助けてくれますか? –