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 回答