Android 工具栏上的onCreateOptions菜单()返回false和#x27;向上';导航不工作

Android 工具栏上的onCreateOptions菜单()返回false和#x27;向上';导航不工作,android,android-menu,android-toolbar,Android,Android Menu,Android Toolbar,我正在使用棒棒糖上的新工具栏(无支持库)。我的活动有一个列表,如果列表为空,我不想显示任何选项菜单。我的实现如下所示: 在onCreate()中: 和菜单方法: @Override public boolean onCreateOptionsMenu(Menu menu) { if (tasks.isEmpty()) { return false; } getMenuInflater().inflate(R.menu.menu_tasks, menu);

我正在使用棒棒糖上的新工具栏(无支持库)。我的活动有一个列表,如果列表为空,我不想显示任何选项菜单。我的实现如下所示:

在onCreate()中:

和菜单方法:

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    if (tasks.isEmpty()) {
        return false;
    }

    getMenuInflater().inflate(R.menu.menu_tasks, menu);

    return true;
}

当该方法放大菜单并返回true时,“向上”导航箭头在文件中起作用;当该方法返回false时,箭头就在那里,但单击它不会做任何事情。这是安卓系统的一种缺陷吗?

作为一种解决方法,您可以完全跳过菜单的膨胀,然后返回true

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    return true;
}

也就是说,
onCreateMenuItems(Menu Menu)
的文档建议返回false,因为您最初尝试这样做应该是可行的。现在有一个bug跟踪这个问题:

如果
task.isEmpty()
?@user3249477:它确实有效,谢谢你,我只是觉得它不是一个有效的解决方法。如果你写一个答案,我可以接受。您知道为什么返回false会“禁用”整个操作栏吗?这似乎很奇怪,我不确定。这很奇怪,因为在默认的ActionBar中,“向上”按钮可以继续工作,但在使用工具栏时,一旦返回false,它就不会工作。
@Override
public boolean onCreateOptionsMenu(Menu menu) {
    return true;
}