Android Toolbar.inflateMenu似乎什么都不做

Android Toolbar.inflateMenu似乎什么都不做,android,android-appcompat,material-design,android-toolbar,Android,Android Appcompat,Material Design,Android Toolbar,我现在正忙于新的AppCompat库,将材料设计引入旧设备 将工具栏设置为actionbar对我来说很好,但在调用inflateMenu(int-resId)时,工具栏似乎没有任何作用。从文档中,我认为这是为了替换onCreateOptions菜单中调用的getMenuInflater().inflate(int resId)。 如果我使用后者,菜单项将正确地充气并添加到工具栏,但充气菜单似乎什么都没有 我错过了什么 活动代码: Toolbar toolbar; @Override prote

我现在正忙于新的AppCompat库,将材料设计引入旧设备

将工具栏设置为actionbar对我来说很好,但在调用
inflateMenu(int-resId)
时,工具栏似乎没有任何作用。从文档中,我认为这是为了替换onCreateOptions菜单中调用的
getMenuInflater().inflate(int resId)
。 如果我使用后者,菜单项将正确地充气并添加到工具栏,但充气菜单似乎什么都没有

我错过了什么

活动代码:

Toolbar toolbar;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    toolbar = (Toolbar) findViewById(R.id.toolbar);
    toolbar.inflateMenu(R.menu.main); // this does nothing at all
    setSupportActionBar(toolbar);
}

// this works
@Override
public boolean onCreateOptionsMenu(Menu menu) {
    getMenuInflater().inflate(R.menu.main, menu);
    return true;
}

提前谢谢

如果您正在调用
setSupportActionBar()
,则不需要使用
toolbar.inflateMenu()
,因为工具栏充当您的操作栏。所有与菜单相关的回调都是通过默认回调进行的。您只需在将工具栏用作独立小部件时调用
toolbar.flatemenu()
。在这种情况下,您还必须通过处理菜单项单击事件

toolbar.setOnMenuItemClickListener(
        new Toolbar.OnMenuItemClickListener() {
            @Override
            public boolean onMenuItemClick(MenuItem item) {
                // Handle menu item click event
                return true;
            }
});

谢谢你的澄清。因此,FlageMenu似乎只适用于未设置为ActionBar的工具栏。在标准(非独立小部件)中,我发现OnCreateOptions菜单在onResume之后才被调用!!!这打破了我目前使用OnCreateOptions菜单在调用onResume之前填充工具栏中自定义视图的成员字段的技术。知道哪里出了问题或者怎么做吗?我正在使用
setSupportActionBar
。如果我没有打开菜单,如何在工具栏上显示操作项??如果您确实想使用toolbar.inflateMenu(),可以按照以下答案操作: