Как отсортировать пункты меню в меню настроек приложения для Android? - PullRequest
4 голосов
/ 09 февраля 2012

У меня есть меню опций, созданное и заполненное несколькими пунктами меню.По какой-то причине порядок пунктов меню при их добавлении отличается от желаемого.

Чтобы гарантировать, что пункты меню отображаются в том порядке, в котором мы хотим, чтобы после создания был необходим шаг сортировки.Но я искал документы для 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
}                

Ответы [ 2 ]

7 голосов
/ 09 февраля 2012

Вы можете настроить окончательный порядок отображения пунктов меню, используя атрибут android:orderInCategory или параметр order метода Menu.add.Кроме тех, я не верю, что есть способ сортировки пунктов меню.Кроме того, я хотел бы знать, какое меню потребует этого - может быть, лучше использовать другой элемент пользовательского интерфейса.

1 голос
/ 09 февраля 2012

Вы должны сортировать элементы, когда добавляете так:

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

См. ссылка

...