下面是我的代码:
@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'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'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);