当尝试更改下一个活动的图标(setIcon)时应用程序崩溃



下面是我的代码:

@Override
public boolean onCreateOptionsMenu(Menu menu){
    MenuInflater inflater = getMenuInflater();
    inflater.inflate(R.menu.menu, menu);
    if (MainActivity.fifty){
        menu.findItem(R.drawable.fifty).setIcon(R.drawable.fiftyf);
    }
    return super.onCreateOptionsMenu(menu);
}

现在的事情是,当我删除if语句,然后它的工作很好,但图标是不改变下一个活动。

这是我的菜单xml文件:

<menu xmlns:android="http://schemas.android.com/apk/res/android" >
<item
    android:id="@+id/aud"
    android:icon="@drawable/aud"
    android:orderInCategory="1"
    android:showAsAction="always"
    android:title="Audience&apos;s Help"/>
<item
    android:id="@+id/fifty"
    android:icon="@drawable/fifty"
    android:orderInCategory="2"
    android:showAsAction="always"
    android:title="50:50"/>
<item
    android:id="@+id/friend"
    android:icon="@drawable/friendhelp"
    android:orderInCategory="2"
    android:showAsAction="always"
    android:title="Friend&apos;s Help"/>

如您所见,我刚刚开始创建图标更改。这个想法是,在游戏"谁想成为百万富翁"中,按钮是50:50。现在在下一个活动中,我尝试设置R.drawable。Fiftyf,这是一个禁用的50:50图标,因为当用户使用它时,它应该不再可用。当我试图在menu.xml中添加它时,新图标只是添加,这是我不需要的。还请注意,该图标根据我的方法改变,但应用程序崩溃时,它去到下一个活动。

谢谢所有。如果需要其他信息,请告诉我。

这是错误的:

menu.findItem(R.drawable.fifty).setIcon(R.drawable.fiftyf);

应该是这样的:

menu.findItem(R.id.fifty).setIcon(R.drawable.fiftyf);

相关内容

  • 没有找到相关文章

最新更新