Отметьте все флажки, когда один флажок установлен в Android? - PullRequest
1 голос
/ 19 марта 2012

Я пытаюсь установить все эти флажки, когда установлен флажок "cbkomplet".Но это не работает.Любая помощь?Вот код, который у меня есть.

Заранее спасибо.

</p>

<code>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();

                }

            }
        });
</code>

Ответы [ 3 ]

4 голосов
/ 19 марта 2012

вы хотите вызвать setChecked (), а не isChecked () для зависимых флажков.вы просто проверяете, проверен ли каждый из них, а затем отбрасываете результат.

http://developer.android.com/reference/android/widget/CompoundButton.html#setChecked(boolean)

2 голосов
/ 17 мая 2016

Используйте этот код.

  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);
            }
        }
    });
0 голосов
/ 19 марта 2012

Вы вызываете метод isChecked(), который возвращает логическое значение, чтобы сообщить вам, установлен ли флажок. Пожалуйста, используйте setChecked() вместо этого и передайте true или false.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...