私はsetOnCheckedChangeListener
自分のために実装しましたcheckbox
電話する方法はありますか?
checkbox.setChecked(false);
引き起こすことなくonCheckedChanged
ベストアンサー1
いいえ、それはできません。onCheckedChanged
メソッドは から直接呼び出されますsetChecked
。 実行できることは次のとおりです。
mCheck.setOnCheckedChangeListener (null);
mCheck.setChecked (false);
mCheck.setOnCheckedChangeListener (mListener);
を参照してくださいCheckBoxのソース、および以下の実装setChecked
:
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;
}
}