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

Can't enable clicked disabled button in android

我很难在单击时启用已禁用的 button。我知道这听起来很奇怪,但让我解释一下:当 index 等于 -1 时,应该禁用 button。如果 index 大于 -1,则应启用 button。问题是当我点击禁用的 button 并且 index 大于 -1 时,button 仍然被禁用。我尝试了 btn.setOnclicklister(null),但没有成功。

代码:

 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);

                    }


                }
            });

每次将 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);
     }
  }
}

在某处:

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