【问题标题】:Android RadioGroup with more than 1 check [duplicate]具有超过 1 个检查的 Android RadioGroup [重复]
【发布时间】:2013-10-10 23:19:51
【问题描述】:

我有一个带有大约 30 个单选按钮的单选组。我在stackoverflow上环顾四周,发现了一些关于意外允许检查多个单选按钮的帖子。他们不在广播组中,或者他们的身份有问题。

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 元素可以帮助我获得所需的内容?

【问题讨论】:

标签: android


【解决方案1】:

如何有目的地允许一次选择 3 个单选按钮

不要将它们放在RadioGroup 中。

并为这三个选定的实现一个侦听器。

您可以使用onCheckedChangeListener

我怀疑我做错了什么。是否还有其他 UI 元素可以帮助我获得所需的内容?

你猜对了。正如 Jason 在评论中所说,您应该为此使用 CheckBoxes,因为这不是用户期望从 RadioButtons 获得的行为。大多数用户希望看到RadioGroup,并且只能选择一个选项。如果您有那么多 RadioButtons 并且希望能够选择多个,那么您应该能够将它们分成不同的组。否则,您绝对应该使用CHeckBoxes,因为用户会看到这些并希望能够选择多个。

【讨论】:

  • 感谢您的回答!您能否发布一些有关如何仅使 3 个复选框可供检查的代码?我只需要复选框在 3 处达到最大值。
  • @superuser:你得到了完全相同的答案here,但没有接受那里的答案。是什么让你接受这个?
  • @shoerat 我已经接受了,我只是在等待一些代码发布。
  • @superuser 我只会创建一个计数器作为成员变量,并在选中 CheckBox 时将其递增,并在未选中 CheckBox 时将其递减 1。当计数器达到 3 时,您可以禁用其他计数器并在该数字低于 3 时启用它们。当尝试检查第四个计数器并打印它们已达到限制的 Toast 时,您可以什么也不做,而不是禁用它们。但我个人会禁用它们(用户会明白的)。至少尝试一下并不太复杂。这样做,如果您遇到困难,我会尽力提供帮助
  • @codeMagic 谢谢,我会试试你的建议!
猜你喜欢
  • 2012-01-06
  • 2020-07-18
  • 2015-10-15
  • 2015-10-11
  • 2013-10-22
  • 1970-01-01
  • 1970-01-01
  • 2020-11-17
  • 1970-01-01
相关资源
最近更新 更多