Android, проверяющий радио-кнопку в коде, заставляет его оставаться проверенным в радиогруппе - PullRequest
0 голосов
/ 22 мая 2018

У меня динамически добавляются переключатели в RadioGroup.И я должен проверить один из них в коде, основанном на некоторых данных.

Теперь проблема в том, что после того, как переключатели отображаются, и пользователь проверяет другой переключатель в той же группе, ранее выбранный переключательвсе еще проверено ... в результате два проверенных RadioButtons.

Radio buttons with one of them that can't be unchecked

Вот как я рендеринг кнопок в Kotlin:

val rg = RadioGroup(this).apply { orientation = RadioGroup.HORIZONTAL }
choices.values.forEach { c ->
    rg.addView(RadioButton(this).apply {
        tag = someTag
        text = c
        isChecked = answer.equals(c) // condition
    })
}

Странно то, что все работает нормально, если RadioButton не проверяется программно.

Ответы [ 2 ]

0 голосов
/ 22 мая 2018

Вместо настройки radioButton.isChecked = ....Попробуйте использовать radioGroup.check(id).

0 голосов
/ 22 мая 2018

Я использую этот код для RadioButton.

`radio_rg.setOnCheckedChangeListener { _, checkedId ->
  val radio: RadioButton = findViewById(checkedId)
        when (radio) {
            radioBtn1 -> {
              // some code
            }
            radioBtn2 -> {
             // some code
       }
    }`

Надеюсь, это поможет вам.

о проверке RadioButton нет, я не знаю, я никогда не пробую.

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