Отменить выбор радиокнопки не работает при программном добавлении кнопок

Я добавляю радиокнопки в код:

options.map {
                val radioOption = RadioButton(infoLabel.context)
                radioOption.text = it
                radioOption.isClickable = isReadOnly
                if (value.contains(it))
                    radioOption.isChecked = true

            infoRadioGroup.addView(radioOption)
        }

В настройках у меня есть два элемента. При запуске выбирается один из них. Когда я запускаю приложение и пытаюсь выбрать второй, я получаю две выбранные радиокнопки. Первый все еще проверяется. Любые идеи?

0
0
29
2

Ответы 2

Это может произойти только тогда, когда Идентификатор обоих RadioButton одинаковы. Убедитесь, что Я БЫ каждого RadioButton уникален.

Попробуйте динамически добавить идентификатор к переключателю, прежде чем добавлять его для просмотра.

Rahul Sharma 07.06.2018 13:48

Решаю свою проблему:

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
                            }


                        }
                }

Другие вопросы по теме