Насколько я понимаю, к чекбоксу на андроид можно привязать функцию, только через setOnCheckedChangeListener или указывая аттрибуту android:onClick="
function" (а потом, эту функцию прописать в MainActivity.java). Да вот только проблема, вот как сделать так, чтобы соблюдалось условие: если юзер кликнул по трем разным чекбоксам, то четвертый долен перейти в disabled mode. По моей логике, здесь нужно создать static var count = 0, который будет отсчитывать количество кликнутых чекбоксов, то есть постоянно "инкрементировать" на одну единицу, при каждом клике. Как только count становится больше 3, то каким то там образом последний из оставшихся в массиве чекбокса перевести в disabled mode путем функции setEnabled(false). Да но, у меня такая проблема, как эти event listeners, которые я привязываю к каждому отдельному чекбоксу внести в if...else условия? Или моя логика - неверна в корне? Тогда как вообще?
я пытался сделать, что то вроде этого:
if(CBA[0].isChecked()){
CBA[0].setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener(){
@Override
public void onCheckedChanged(CompoundButton compoundButton, boolean b) {
for(int i=0; i < CBA.length ; i++)
if(CBA[i].isChecked())
{
count++;
}
if(count > 3){
CBA[3].setEnabled(false);
}
}
});
А потом тоже самое сделать для других элементов массива (то есть для других чекьоксов).
Не знаю, почему но не реботает.
Может знает кто?