简体   繁体   English

无法启用android中单击的禁用按钮

[英]Can't enable clicked disabled button in android

I'm struggeling to enable a disabled button when it's clicked. 我正在努力启用被单击的禁用button I know it sounds weird, but let me explain: when index equals -1 the button should be disabled. 我知道这听起来很奇怪,但是请允许我解释一下:当index等于-1时,应该禁用该button If index is greater than -1 the button should be enabled. 如果index大于-1,则应启用该button The problem is when I click on the disabled button and index is greater than -1, the button is still disabled. 问题是当我单击禁用的button并且index大于-1时,该button仍处于禁用状态。 I tried btn.setOnclicklister(null) , but it didn't work. 我尝试了btn.setOnclicklister(null) ,但是没有用。

the code: 编码:

 btn.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {


                    if (index == -1){
                        btn.setOnClickListener(null);
                        btn.setEnabled(false);
                        btn.setClickable(false);


                    }else if (index > -1){

                       btn.setOnClickListener(this);
                        btn.setEnabled(true);
                        btn.setClickable(true);

                    }


                }
            });

You should enable OnClickListener every time you set index to not -1: 每次将index设置为不为-1时,都应启用OnClickListener

View.OnClickListener listener = new View.OnClickListener() {
  @Override
  public void onClick(View v) {
     // do something helpful you want on click
     // and disable the button
      if (index == -1){
         btn.setOnClickListener(null);
         btn.setEnabled(false);
         btn.setClickable(false);
     }
  }
}

And somewhere: 在某处:

...
index = 1;
btn.setOnClickListener(listener);
btn.setEnabled(true);
btn.setClickable(true);
...

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM