2013-02-14 7 views
0

У меня есть два RadioGroup s, которые должны быть связаны друг с другом. Когда я проверяю кнопку в первой группе, мне нужно, чтобы соответствующая кнопка в другой группе была отключена и, если она была проверена, также была снята.RadioButton ведет себя непредсказуемым образом

Я попытался достичь этого, используя кнопку из первой группы, нажав кнопку RadioButton.setEnabled(false) на соответствующей кнопке и RadioButton.setChecked(false), если она была также проверена.

Но после этих операций, когда я использую RadioGroup.getCheckedRadioButtonId(), он не возвращает -1, как и ожидалось (here), но она по-прежнему возвращает идентификатор кнопки I непроверенного и инвалидов.

ответ

0

Я нашел решение, используя RadioGroup.clearCheck() вместо того, чтобы вручную отключить кнопку, которую я хотел, но все же я хотел бы знать, почему Android ведет себя так. Я имею в виду, почему существует метод под названием setChecked(), если он не работает так, как должен, по крайней мере, при передаче ему параметра false?

+0

Сложно сказать, не видя точно, как и где вы это делаете. Это должно работать так, как я понимаю, что вы делаете, пока понимаете, что 'setEnabled (false)' отключает кнопку и не изменяет параметр 'checked'. – codeMagic

+0

Я знаю 'setEnabled (false)' не снимает флажок, и поэтому я вызываю 'setChecked (false)', что должно снять его. – whatyouhide

+0

Хорошо, я думал, вы, наверное, знали это, но это было единственное, что я, или, возможно, любой, мог предложить, не видя, как вы это делаете. Возможно, что-то мало что вам не хватает, насколько вы его называете или где – codeMagic

Смежные вопросы