Android 使用.setEnabled()启用/禁用选项菜单按钮?

Android 使用.setEnabled()启用/禁用选项菜单按钮?,android,android-menu,android-optionsmenu,Android,Android Menu,Android Optionsmenu,我正在尝试这样做: @Override public boolean onCreateOptionsMenu(Menu menu) { MenuInflater inflater = getMenuInflater(); inflater.inflate(R.menu.menu, menu); //multiListener = false; menu.add(0,START_DELETE,0, "Delete selected..").setEnable

我正在尝试这样做:

    @Override
public boolean onCreateOptionsMenu(Menu menu) {
    MenuInflater inflater = getMenuInflater();
    inflater.inflate(R.menu.menu, menu);
    //multiListener = false;
    menu.add(0,START_DELETE,0, "Delete selected..").setEnabled(multiListener);
    return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
    // Handle item selection
    switch (item.getItemId()) {
    case R.id.multiselect:
        if(multiselect == 0) { multiselect = 1;
        multiListener = true;
        Log.d("DH", "index="+multiListener);
        }
        else if(multiselect == 1) { multiselect = 0; multiListener = false;
        Log.d("DH", "index="+multiListener);
        }
        fillData();
        return true;
    case START_DELETE:
        Toast.makeText(Notepadv3.this, "Pressed delete", Toast.LENGTH_SHORT).show();
        return true;
    default: 
        return super.onOptionsItemSelected(item);

    }
}
基本上,如果multiListener=true;使“Delete selected…”可按,否则灰显

这件简单的事。。不想和我一起锻炼

不知何故。。。按钮总是灰显,虽然日志上说,它会变为真


有人知道吗?

您应该再次调用
setEnabled()
来更改项目的状态。它的状态不绑定到变量。应该在
onprepareOptions菜单()中调用此方法。

谢谢!这使得契约:)