2011-10-15 25 views
0

我編寫了一個程序,在菜單中添加了一些選項。它成功添加了我插入的所有項目。現在我安排了所有的項目。但「切換應用程序」選項仍然處於頂端。我如何改變立場?如何安排我們在菜單中添加的MenuItems

MenuItem mi1 = new MenuItem("leave",0x00010004,0); 

    addMenuItem(mi1); 

    MenuItem mi2 = new MenuItem("importrouteplan",0x00020005,0); 
    addMenuItem(mi2); 
    MenuItem mi4 = new MenuItem("get5daysplan",0x00020005,0); 
    addMenuItem(mi4); 
    MenuItem mi3 = new MenuItem("gettodaysplan",0x00020005,0); 
    addMenuItem(mi3); 
    MenuItem mi6 = new MenuItem("stoptracktime",0x00030006,0); 
    addMenuItem(mi6); 
    MenuItem mi5 = new MenuItem("starttracktime",0x00030006,0); 
    addMenuItem(mi5); 

enter image description here

+0

目前還不清楚你現在擁有什麼以及你想擁有什麼。您的意思是系統菜單項「開關應用程序」在您的自定義菜單項上?這聽起來很奇怪。我相信「開關應用程序」應該低於您的項目。可能是一個sreenshot將清除案件。 –

+0

你是對的,事實證明它取決於操作系統級別(請查看我的答案瞭解詳情)。 –

+1

請發表評論,同時投下我的問題,以便我不會再次重複同樣的錯誤。因爲像Vijay.jangid07這樣的人表現得像孩子一樣,用個人的怨恨投下我的問題 – Pramod

回答

1

嗯,事實證明它取決於操作系統級別。

例如,在OS 4.7上「開關應用程序」始終位於「關閉」附近的底部部分。但是,如果您在OS 6模擬器中打開任何本機BB應用程序,那麼您會看到RIM改變了這種行爲 - 「Switch Application」總是位於頂部,而它們在底部保留「關閉」。

所以基本上你的代碼是完全正常的,你不需要改變它。不過,如果你確實需要把上面的「切換應用程序」的任何項目,那麼你可以通過使用相同的最上面的順序做:

new MyMenuItem("Above Switch Application", 0 /*ordinal*/, 0); 

注意,儘管在這種情況下,「交換機上面的應用程序」上述「切換應用程序」,它共享相同的序數組(0),所以兩者之間不會有分隔符(我認爲這對大多數情況來說是不可接受的)。

+0

如何在操作系統6中的「開關應用程序」上面添加分隔符。在我的應用程序分隔符在OS 6的所有屏幕上工作。但一個屏幕有「Browserfield」,所以「選擇」選項放置在菜單中。而且它並不適用於這種情況。所以給我一些建議。 – Hitarth

+0

@編碼器:請爲您的案例提供單獨/獨立的問題,提供詳細的描述(屏幕截圖也不錯)。 –

0
MenuItem mi1 = new MenuItem("leave",0x00010004,0); 

菜單項中的最後一個參數是在菜單的優先。

所以不要把它作爲0.

菜單項的優先級。 較低的值表示較高的優先級,反之較高的值表示較低的優先級。

更改優先級並嘗試。

+0

現在我把所有項目的優先級設爲6。仍然輸出是相同的 – Pramod

相關問題