知道哪个菜单资源被夸大了

Know which menu resource is inflated

在我的应用程序中,我膨胀了不同的菜单资源,如下所示:

public boolean onCreateOptionsMenu(Menu menu) {
    _menu = menu;
    if (/* CONDITION */) {
        getMenuInflater().inflate(R.menu.menu_activity_detail, _menu);
    } else {
        getMenuInflater().inflate(R.menu.menu_empty, _menu);
    }
    return true;
}

在此之前,我保存 Menu 对象以供进一步重用,例如在特定情况下扩充新菜单。

现在 问题:有什么方法可以知道我在创建 activity 时膨胀了哪个资源,而无需手动保存 [=] 的 ID 12=]?

您不应保留对菜单的引用。为什么不使用 Activity 的 invalidateOptionsMenu() 方法?有 supportInvalidateOptionsMenu() 来处理 AppCompatActivity