2013-10-10 7 views
0

У меня есть радиогруппа с примерно 30 радиокнопками. Я просмотрел stackoverflow и нашел несколько сообщений о случайном разрешении нескольких радиообъектов. Они не были в радиогруппе или имели проблемы с их идентификатором.Android RadioGroup с более чем одной проверкой

https://stackoverflow.com/questions/8265034/android-radiogroup-checks-more-than-one-radiobuttonhttps://stackoverflow.com/questions/17157705/radiogroup-allows-multiple-radiobuttons-to-be-selected

Как я могу намеренно позволить 3 радиокнопке быть выбрана в то время и реализовать слушатель для этих трех выбрано.

Я подозреваю, что делаю что-то неправильно. Есть ли еще элемент UI, который может помочь мне получить то, что я ищу?

+3

Рассматривали ли вы флажки с настраиваемым событием обмена, которое контролирует количество выбранных? –

+0

CheckBox (или CheckBoxPreference) FWIW – ozbek

+0

См. Https://developer.android.com/guide/topics/ui/controls/checkbox.html – ozbek

ответ

1

Как я могу намеренно позволить 3 радиокнопку быть выбран в то время

Не ставьте их внутрь RadioGroup.

и реализовать слушателя для этих трех выбранных.

Вы можете использовать onCheckedChangeListener

Я подозреваю, что я делаю что-то неправильно. Есть ли еще элемент UI, который может помочь мне получить то, что я ищу?

Вы подозреваете, что правильно. Как указано Джейсоном в комментарии, вы должны использовать CheckBox es для этого, поскольку это не то поведение, которое пользователь ожидает от RadioButton. Большинство пользователей ожидают увидеть RadioGroup и смогут выбирать только один вариант. Если у вас есть много RadioButton и вы хотите, чтобы иметь возможность выбирать мультипликаторы, вы должны разделить их на отдельные группы. В противном случае вы определенно должны использовать CHeckBox es, так как пользователи увидят их и ожидают, что смогут выбрать кратные.

+0

благодарит за ответ! Не могли бы вы опубликовать какой-то код о том, как можно проверить только 3 флажка? Мне просто нужны флажки до максимума в 3. – superuser

+0

@superuser: вам был дан тот же ответ [здесь] (http://stackoverflow.com/a/19307262/1893766), но он не принял ответа там. Что заставило вас принять это? – ozbek

+0

@shoerat Я принял его, я просто ждал, когда будет опубликован какой-то код. – superuser

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