Я пытаюсь проверить все эти флажки, когда проверяется "cbkomplet". Но это не сработает. Любая помощь? Вот код, который у меня есть до сих пор.
Заранее спасибо.
CheckBox repeatChkBx = ( CheckBox ) findViewById( R.id.cbkomplet ); repeatChkBx.setOnCheckedChangeListener(new OnCheckedChangeListener() { public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { if ( isChecked ) { cbreg.isChecked(); cbtank.isChecked(); cbzoop.isChecked(); cbkom.isChecked(); cbmaske.isChecked(); cbbl.isChecked(); } } });
вы хотите вызвать setChecked(), а не isChecked() в зависимых флажках. вы просто проверяете, проверяется ли каждый из них, а затем отбрасывая результат.
http://developer.android.com/reference/android/widget/CompoundButton.html#setChecked(boolean)
Используйте этот код.
chkbxAll = (CheckBox)findViewById(R.id.cbAll);
chkbxOne = (CheckBox)findViewById(R.id.chkbxOne );
chkbxTwo = (CheckBox)findViewById(R.id.chkbxTwo );
chkbxThree = (CheckBox)findViewById(R.id.chkbxThree );
chkbxFour = (CheckBox)findViewById(R.id.chkbxFour );
chkbxAll .setOnCheckedChangeListener(new
CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean
isChecked) {
if (chkbxAll.isChecked()) {
chkbxOne.setChecked(true);
chkbxTwo.setChecked(true);
chkbxThree.setChecked(true);
chkbxFour.setChecked(true);
}else {
chkbxOne.setChecked(false);
chkbxTwo.setChecked(false);
chkbxThree.setChecked(false);
chkbxFour.setChecked(false);
}
}
});
Вы вызываете метод isChecked()
, который возвращает логическое значение, чтобы сообщить вам, установлен ли флажок. setChecked()
этого используйте setChecked()
и передайте true или false.