我正在努力启用被禁用的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);
}
}
});
答案 0 :(得分:1)
每次将OnClickListener
设置为不为-1时,应启用index
:
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);
...