我的问题是如何在单击按钮时禁用它,并在单击另一个按钮时再次启用它。例如,如果有4个按钮,当我单击按钮1,它将被禁用,当我单击按钮2,按钮2将被禁用,按钮1将再次启用。
目前,我正在使用此代码,但一旦单击该代码,它就不会启用按钮。
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
        }发布于 2016-03-28 08:45:37
试试这个
// 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
        }
}发布于 2016-03-28 07:56:06
使用btn2.setEnable(True);
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
        }发布于 2016-03-28 07:58:11
其他按钮的setEnabled(真)如下所示:
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
        }https://stackoverflow.com/questions/36258196
复制相似问题