这是我的代码中的内容:
@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的游戏名为&#34;谁想成为百万富翁&#34;。现在在下一个活动中,我试图设置R.drawable.fiftyf,这是一个禁用的50:50图标,因为当用户使用它时,它应该不再可用。 当我尝试在menu.xml中添加它时,刚刚添加了新图标,这是我不需要的。另请注意,该图标会根据我的方法进行更改,但应用程序会在进入下一个活动时崩溃。
谢谢大家。 如果需要其他信息,请告诉我。
答案 0 :(得分:1)
这是错误的:
menu.findItem(R.drawable.fifty).setIcon(R.drawable.fiftyf);
应该是这样的:
menu.findItem(R.id.fifty).setIcon(R.drawable.fiftyf);