当我使用onCreateOptionsMenu
或onOptionsItemSelected
方法时,我可以轻松地做到这一点。
但我在屏幕上的某处有一个按钮,单击该按钮时,它应该启用/禁用上下文菜单项。
发布于 2013-10-17 15:14:47
在所有android版本中,最简单的方式:使用此选项将菜单操作图标显示为禁用状态,并使其功能也处于禁用状态:
@Override
public boolean onPrepareOptionsMenu(Menu menu) {
MenuItem item = menu.findItem(R.id.menu_my_item);
if (myItemShouldBeEnabled) {
item.setEnabled(true);
item.getIcon().setAlpha(255);
} else {
// disabled
item.setEnabled(false);
item.getIcon().setAlpha(130);
}
}
发布于 2012-06-06 17:08:30
您可以在创建选项菜单时将项目另存为变量,然后随意更改其属性。
private MenuItem securedConnection;
private MenuItem insecuredConnection;
@Override
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.connect_menu, menu);
securedConnection = menu.getItem(0);
insecuredConnection = menu.getItem(1);
return true;
}
public void foo(){
securedConnection.setEnabled(true);
}
发布于 2016-09-11 04:18:20
简化@Vikas版本
@Override
public boolean onPrepareOptionsMenu (Menu menu) {
menu.findItem(R.id.example_foobar).setEnabled(isFinalized);
return true;
}
https://stackoverflow.com/questions/5440601
复制相似问题