2013-08-21 72 views
1

我正在使用操作欄Sherlock。我在操作欄中安排圖標時遇到問題。如何更改操作欄菜單項的順序

從下面的圖像應該互換我嘗試了所有的方式,但無法找到解決方案。

這裏是我的代碼

public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) { 
    menu.add(1, 1, 1, "CREATE").setIcon(R.drawable.img_yo_create) 
      .setShowAsAction(MenuItem.SHOW_AS_ACTION_IF_ROOM); 
    SubMenu submenus = menu.addSubMenu("SORT"); 
    submenus.add(2, 2, 2, "CARDS ADDED BY ME"); 
    submenus.add(2, 3, 3, "CARDS FROM MERCHANT"); 
    submenus.add(2, 4, 4, "ALL CARDS"); 
    submenus.add(2, 5, 5, "HELP .?"); 
    MenuItem subitem = submenus.getItem(); 
    subitem.setIcon(R.drawable.img_sorting); 
    subitem.setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS); 

    return; 
} 

How to interchange these icons by changing the above code

回答

2

您還沒有一個順序設置爲您的子菜單,當你撥打:

子菜單的子菜單= menu.addSubMenu( 「排序」) ;

看看docs for menu。然後花一些時間查看getOrder()

因爲他們已經設置了常量,所以您應該使用您的訂單,而不是像您使用CREATE MenuItem那樣使用1,您應該首先閱讀它。

你應該叫:addSubMenu(int, int, int, CharSequence)

實例(我沒有試過):

子菜單的子菜單= menu.addSubMenu(2,2,2, 「排序」);

+0

在ABS中應該是相同的常量和方法。試試吧,如果它不一樣或不起作用,我會修改我的答案。 –

+0

我試過那個,但沒有使用仍然顯示相同的順序 –

+0

第一次顯示相同的順序,但接下來它改變了它的罰款。但點擊事件自動爲第二種情況 –