Задать вопрос
@Konstantin_Pak_Swinburne

Как сделать так, чтобы последний четвертый чекбокс перешел в disabled mode, после того как первые три любые чекбоксы были кликнуты?

Насколько я понимаю, к чекбоксу на андроид можно привязать функцию, только через 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);
                    }

                }
            });


А потом тоже самое сделать для других элементов массива (то есть для других чекьоксов).
Не знаю, почему но не реботает.
Может знает кто?
  • Вопрос задан
  • 78 просмотров
Подписаться 1 Простой 1 комментарий
Ваш ответ на вопрос

Вопрос закрыт для ответов и комментариев

Потому что уже есть похожий вопрос.
Похожие вопросы