5

オプション メニューを作成し、いくつかのメニュー項目で埋めました。何らかの理由で、追加されたメニュー項目の順序が希望どおりではありません。

メニュー項目が希望どおりの順序で表示されるようにするには、作成後に並べ替え手順が必要です。しかし、私はAndroid devドキュメントを検索しましたが、これを行う方法が見つかりませんでした(または単に見つけられませんでした)。

これを達成するための回避策はありますか? お知らせ下さい。

ありがとう!

サンプルコード:

public boolean onCreateOptionsMenu(Menu menu) {

    menu.add("menuItem1");

    menu.add("menuItem2");

    // after this I want to sort the items

    ArrayList<MenuItem> list = new ArrayList<MenuItem>();

    for(int i = 0; i < menu.size(); i ++) {
        list.add(menu.getItem(i));
    }

    Collections.sort(list, new SampleComparator());

    // But then I don't know how to add the sorted list of menu items back
}                
4

2 に答える 2

8

android:orderInCategoryメソッドの属性またはorderパラメーターを使用して、メニュー項目の最終的な表示順序を微調整できますMenu.add。それら以外に、メニュー項目を並べ替える方法はないと思います。さらに、どのような種類のメニューでこれが必要になるのだろうかと思います — 別の UI 要素を使用する方が良いかもしれません。

于 2012-02-09T02:23:42.860 に答える
2

次のように追加するときは、アイテムを並べ替える必要があります。

     menu.add (int groupId, int itemId, int order, CharSequence title)

リファレンスを参照

于 2012-02-09T03:08:40.667 に答える