Я добавляю радиокнопки в код:
options.map {
val radioOption = RadioButton(infoLabel.context)
radioOption.text = it
radioOption.isClickable = isReadOnly
if (value.contains(it))
radioOption.isChecked = true
infoRadioGroup.addView(radioOption)
}
В настройках у меня есть два элемента. При запуске выбирается один из них. Когда я запускаю приложение и пытаюсь выбрать второй, я получаю две выбранные радиокнопки. Первый все еще проверяется. Любые идеи?
Это может произойти только тогда, когда Идентификатор обоих RadioButton одинаковы. Убедитесь, что Я БЫ каждого RadioButton уникален.
Решаю свою проблему:
radioOption.setOnCheckedChangeListener { buttonView, isChecked ->
val count = infoRadioGroup.childCount
if (isChecked)
for (i in 0 until count) {
val radio = infoRadioGroup.getChildAt(i)
if (radio is RadioButton) {
radio.isChecked = radio.text == buttonView.text
}
}
}
Попробуйте динамически добавить идентификатор к переключателю, прежде чем добавлять его для просмотра.