首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在单击按钮后禁用按钮,并在android中单击另一个按钮时再次启用该按钮

如何在单击按钮后禁用按钮,并在android中单击另一个按钮时再次启用该按钮
EN

Stack Overflow用户
提问于 2016-03-28 07:53:17
回答 3查看 722关注 0票数 0

我的问题是如何在单击按钮时禁用它,并在单击另一个按钮时再次启用它。例如,如果有4个按钮,当我单击按钮1,它将被禁用,当我单击按钮2,按钮2将被禁用,按钮1将再次启用。

目前,我正在使用此代码,但一旦单击该代码,它就不会启用按钮。

代码语言:javascript
运行
复制
Button.OnClickListener btnOnClickListner = new Button.OnClickListener() {
    @Override
    public void onClick(View v) {
        if (v == btn1) {
            if (v.isEnabled()) {
                v.setEnabled(false);
            }
          // my code
         } else if (v == btn2) {
            if (v.isEnabled()) {
                v.setEnabled(false);
            }
          // my code
        } else if (v == btn3) {
            if (v.isEnabled()) {
                v.setEnabled(false);
            }
          // my code
        } else if (v == btn4) {
            if (v.isEnabled()) {
                v.setEnabled(false);
            }
          // my code
        }
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2016-03-28 08:45:37

试试这个

代码语言:javascript
运行
复制
// Create a global button variable
Button flagButton = null;

Button.OnClickListener btnOnClickListner = new Button.OnClickListener() {
    @Override
    public void onClick(View v) {

        if(flagButton == null)
            flagButton = (Button)v;
        else
            flagButton.setEnabled(true);

        v.setEnabled(false);
        flagButton = (Button)v;

        if (v == btn1)
          // my code
        else if (v == btn2)
          // my code
        else if (v == btn3)
          // my code
        else if (v == btn4)
          // my code
        }
}
票数 1
EN

Stack Overflow用户

发布于 2016-03-28 07:56:06

使用btn2.setEnable(True);

代码语言:javascript
运行
复制
Button.OnClickListener btnOnClickListner = new Button.OnClickListener() {
    @Override
    public void onClick(View v) {
        if (v == btn1) {
            if (v.isEnabled()) {
                v.setEnabled(false);
                btn2.setEnabled(true);
                btn3.setEnabled(true);
                btn4.setEnabled(true);
            }
          // my code
         } else if (v == btn2) {
            if (v.isEnabled()) {
                v.setEnabled(false);

                btn1.setEnabled(true);
                btn3.setEnabled(true);
                btn4.setEnabled(true);
            }
          // my code
        } else if (v == btn3) {
            if (v.isEnabled()) {
                v.setEnabled(false);

                btn1.setEnabled(true);
                btn2.setEnabled(true);
                btn4.setEnabled(true);
            }
          // my code
        } else if (v == btn4) {
            if (v.isEnabled()) {
                v.setEnabled(false);

                btn1.setEnabled(true);
                btn3.setEnabled(true);
                btn4.setEnabled(true);
            }
          // my code
        }
票数 1
EN

Stack Overflow用户

发布于 2016-03-28 07:58:11

其他按钮的setEnabled(真)如下所示:

代码语言:javascript
运行
复制
Button.OnClickListener btnOnClickListner = new Button.OnClickListener() {
    @Override
    public void onClick(View v) {
        if (v == btn1) {
            if (v.isEnabled()) {
                v.setEnabled(false);
                btn2.setEnabled(true);
                btn3.setEnabled(true);
                btn4.setEnabled(true);
            }
          // my code
         } else if (v == btn2) {
            if (v.isEnabled()) {
                v.setEnabled(false);

                btn1.setEnabled(true);
                btn3.setEnabled(true);
                btn4.setEnabled(true);
            }
          // my code
        } else if (v == btn3) {
            if (v.isEnabled()) {
                v.setEnabled(false);

                btn1.setEnabled(true);
                btn2.setEnabled(true);
                btn4.setEnabled(true);
            }
          // my code
        } else if (v == btn4) {
            if (v.isEnabled()) {
                v.setEnabled(false);

                btn1.setEnabled(true);
                btn3.setEnabled(true);
                btn4.setEnabled(true);
            }
          // my code
        }
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36258196

复制
相关文章

相似问题

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