Android Can';找不到菜单项

Android Can';找不到菜单项,android,menu,Android,Menu,编辑:解决了,我在回答中详细说明了解决方案 我可能错过了一些简单的东西,我认为解决方法会很简单,但我找不到 我的问题是,我想动态更改菜单项(显示在导航抽屉中)的文本,但当我尝试使用findItem(R.id.item1)时,我会得到一个空值 以下是我尝试更改文本的代码: // call invalidateOptionsMenu(); to refresh @Override public boolean onPrepareOptionsMenu(Menu menu) { menu.fi

编辑:解决了,我在回答中详细说明了解决方案

我可能错过了一些简单的东西,我认为解决方法会很简单,但我找不到

我的问题是,我想动态更改菜单项(显示在导航抽屉中)的文本,但当我尝试使用
findItem(R.id.item1)
时,我会得到一个空值

以下是我尝试更改文本的代码:

// call invalidateOptionsMenu(); to refresh
@Override
public boolean onPrepareOptionsMenu(Menu menu) {
    menu.findItem(R.id.item1).setTitle("Some random text");
    return super.onPrepareOptionsMenu(menu);
}
还有我的菜单:

<menu xmlns:android="http://schemas.android.com/apk/res/android">
<group
    android:id="@+id/group_users"
    android:checkableBehavior="single">
    <item
        android:id="@+id/item1"
        android:icon="@drawable/util_bleu_24dp"
        android:title="@string/item1"/>
    <item
        android:id="@+id/item2"
        android:icon="@drawable/util_rose_24dp"
        android:title="@string/item2"/>
</group>

有人能帮我找出这有什么问题吗?

在创建了一个新项目以尝试将其清理干净后,我发现我忘记在代码中添加此部分:

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    getMenuInflater().inflate(R.menu.personnal_menu, menu);
    return true;
}
这创建了另一个不同于我试图修改的菜单,并且在这个新菜单上工作得非常完美。所以事实上我只是在寻找错误的问题

解决方案是这样做(活动中的任何地方):


我希望这能帮助任何犯下和我一样错误的人

你可以试试这个解决方案,我希望它能与你合作。是的,我在研究期间看过这篇文章,它启发我写代码,但他们没有谈论我的问题。谢谢你有没有试着把这个android:enabled=“true”添加到你的菜单项中?嗯,我在你给我的链接中找不到它,我根据你的评论做了尝试,只是把“android:enabled=true”添加到我的xml菜单项中,但它没有改变任何东西
@Override
public boolean onCreateOptionsMenu(Menu menu) {
    getMenuInflater().inflate(R.menu.personnal_menu, menu);
    return true;
}
NavigationView navigationView = findViewById(R.id.nav_view_left);
Menu menu = navigationView.getMenu();
MenuItem item1 = menu.findItem(R.id.item1);
item1.setTitle("Some random text");