我正在尝试启用或禁用菜单项,我使用以下内容:
@Override
public boolean onPrepareOptionsMenu(Menu menu)
{
MenuItem item = menu.findItem(R.id.menu_stats_undo);
if (PlayerListSelect==1) {
item.setEnabled(true);
item.getIcon().setAlpha(255);
} else {
// disabled
item.setEnabled(false);
item.getIcon().setAlpha(130);
}
return true;
}
和
@Override
public boolean onCreateOptionsMenu(android.view.Menu menu) {
getMenuInflater().inflate(R.menu.stats_menu, menu);
return true;
}
和XML
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto" >
<item
android:id="@+id/menu_stats_undo"
app:showAsAction="always"
android:title="UNDO"/>
</menu>
但我得到一个红色的findItem,无法解决方法原因?
答案 0 :(得分:0)
试试这个
@Override
public boolean onCreateOptionsMenu(Menu menu)
{
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.YOUR_MENU_FILE_NAME, menu);
MenuItem item = menu.findItem(R.id.menu_stats_undo);
if (PlayerListSelect==1) {
item.setEnabled(true);
item.getIcon().setAlpha(255);
} else {
// disabled
item.setEnabled(false);
item.getIcon().setAlpha(130);
}
return true;
}