首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Android:如何在按钮点击时启用/禁用选项菜单项?

Android:如何在按钮点击时启用/禁用选项菜单项?
EN

Stack Overflow用户
提问于 2011-03-26 13:53:32
回答 9查看 205.2K关注 0票数 138

当我使用onCreateOptionsMenuonOptionsItemSelected方法时,我可以轻松地做到这一点。

但我在屏幕上的某处有一个按钮,单击该按钮时,它应该启用/禁用上下文菜单项。

EN

回答 9

Stack Overflow用户

发布于 2013-10-17 15:14:47

在所有android版本中,最简单的方式:使用此选项将菜单操作图标显示为禁用状态,并使其功能也处于禁用状态:

代码语言:javascript
复制
@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);
    }
}
票数 70
EN

Stack Overflow用户

发布于 2012-06-06 17:08:30

您可以在创建选项菜单时将项目另存为变量,然后随意更改其属性。

代码语言:javascript
复制
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);
}    
票数 43
EN

Stack Overflow用户

发布于 2016-09-11 04:18:20

简化@Vikas版本

代码语言:javascript
复制
@Override
public boolean onPrepareOptionsMenu (Menu menu) {

    menu.findItem(R.id.example_foobar).setEnabled(isFinalized);
    return true;
}
票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5440601

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档