在项目开发中,想实现的效果是,先让Button不可点击,等数据更新完后,Button可以被点击;刚开始理所当然的写了setclickable(false),发现Button总是能被点击.
百思不得其解啊,后来看到View的setonclickListener的源码才找到原因;
public void setOnClickListener(OnClickListener l) {
if (!isClickable()) {
setClickable(true);
}
mOnClickListener = l;
}
原来setOnClickListener方法会将clickable设为true;所以要把setclickable写在setOnClickListener后面才会生效;