2017-09-06 100 views
0

我有一個直接的活動,必須與Android 4.0兼容。因此我想顯示舊式的菜單按鈕(三個點相互對應)。據我所知,這樣的菜單有一切需要的,但三點按鈕不會出現。菜單按鈕沒有顯示在操作欄中

我的活動:

public class MyCtrl extends Activity implements OnClickListener 

創建菜單結構本身(這種方法不會被調用):

public boolean onPrepareOptionsMenu(Menu pMenu) 
{ 
    pMenu.clear(); 

    MenuItem prefsMenuItem = pMenu.add(0, 1, Menu.NONE,R.string.exit); 
    prefsMenuItem.setIcon(android.R.drawable.ic_menu_close_clear_cancel); 

    prefsMenuItem = pMenu.add(0,2, Menu.NONE,R.string.prefs); 
    prefsMenuItem.setIcon(android.R.drawable.ic_menu_preferences); 

    return super.onCreateOptionsMenu(pMenu); 

}

...而當按下一個項目處理它(從未發生,因爲它是隱形的):

public boolean onMenuItemSelected(int featureId, MenuItem item) 
{ 
... 
} 

任何想法可能會丟失什麼或爲什麼按鈕不顯示?

謝謝!

更新:

我發現菜單功能onPrepareOptionsMenu()和onPrepareOptionsMenu()時,我必須

requestWindowFeature(Window.FEATURE_NO_TITLE); 

一個電話在我的onCreate()不叫 - 方法。當這個調用被移除時,無所不在,菜單功能被調用,但菜單仍然不出現。沒有使用主題,應用程序運行默認設計。

+0

你使用的是什麼主題,用這個

@Override public boolean onCreateOptionsMenu(Menu menu) { menu.add(Menu.NONE, 1, Menu.NONE, "nilesh"); // return true so that the menu pop up is opened return return super.onCreateOptionsMenu(menu);; } 

你有箱子菜單的資源文件?你可以發佈你的styles.xml嗎? – Raghavendra

+0

你可以發佈你的更新的onPrepareOptionsMenu()? – Raghavendra

+1

最後:requestWindowFeature(Window.FEATURE_NO_TITLE)是未創建菜單的原因。我不知道爲什麼這個菜單現在是在頂部標題欄中創建的,不再位於底部,但是一旦我刪除此語句,它就起作用 – Elmi

回答

0

,如果你想創建選項菜單比RES /菜單/ your_menu.xml

+0

不起作用。即使onCreateOptionsMenu()永遠不會調用當我的活動創建 – Elmi

+0

你創建菜單資源文件..?@ Elmi –

+0

Nilesh Rathod:不,菜單是以編程方式創建如上所示。儘管如此:這個功能從來沒有被調用,所以菜單資源文件也永遠不會被使用! – Elmi

相關問題