CheckBox extends
CompoundButton(OnCheckedChangeListener)
extends Button
extends TextView
extends View(OnClickListener)
接近实现的函数订制的好,抽象的函数扩展性好
public void setChecked(boolean checked) {
if (mChecked != checked) {
mChecked = checked;
refreshDrawableState();
// Avoid infinite recursions if setChecked() is called from a listener
if (mBroadcasting) {
return;
}
mBroadcasting = true;
if (mOnCheckedChangeListener != null) {
mOnCheckedChangeListener.onCheckedChanged(this, mChecked);
}
if (mOnCheckedChangeWidgetListener != null) {
mOnCheckedChangeWidgetListener.onCheckedChanged(this, mChecked);
}
mBroadcasting = false;
}
}
setChecked 是利用一个回调让 check 变的简单起来。