2017-09-06 227 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

相关问题