【问题标题】:Android RadioButton logicAndroid RadioButton 逻辑
【发布时间】:2020-06-14 19:19:04
【问题描述】:

如何对RadioButton 进行分组,其中最多可以选中一个,但可以取消选中所有按钮? (我认为这一直是单选按钮组的两种常见行为之一。)

我还没有设法让它与RadioGroup 一起工作。它允许在创建时取消选中所有按钮,但是一旦选中了一个按钮,似乎就没有办法回到原来的所有未选中状态。 (当然,在父母的onRadioButtonClicked() 中,所有按钮都可以取消选中——但不幸的是,在调用它的时候,一个未选中的按钮已经被选中。所以我认为有必要单独记下哪个按钮按钮之前已检查,以便使用它。)

我想到了两个选择。

一个是制作我自己的“ReasonableRadioGroup”,它允许两种常见行为。似乎有点极端。

另一种方法是在选中的按钮上安排一个长按事件来取消选中该按钮——但我认为这对用户来说并不明显。

但我肯定只是错过了一些东西!

【问题讨论】:

  • 您想阻止检查 RadioButtins 吗?或者您想在检查其中一个时清除?或者是其他东西。问题不清楚。
  • 我解释了应该发生的事情。我的问题是如何实现它。这应该很容易。
  • 我没有想到另一个选项,因为它不是最理想的。也就是说,为每个组添加一个按钮“以上都不是”。如果有几对相互排斥的选项——这会增加 50% 的空间和屏幕混乱。但它很容易实现。我会看看我是否可以在小屏幕上摆脱它。

标签: java android radio-button


【解决方案1】:

我怎样才能对 RadioButton 进行分组,最多可以选中一个,但可以取消选中所有按钮?

抱歉,Android SDK 中的 RadioButton/RadioGroup 类不支持此功能。 one of these libraries 有可能提供了这一点,尽管它看起来并不乐观。

但我肯定只是错过了一些东西!

不,抱歉。

【讨论】:

    【解决方案2】:

    你试过了吗:

    RadioGroup radioGroup = (RadioGroup)findViewById(R.id.radiogroup);
    radioGroup.clearCheck();
    

    【讨论】:

    • 是的,正如我所说。但是我应该在哪里/何时调用它?问题是,如果没有构建一些东西来记住之前的按钮状态,我不知道按钮之前是否被按下。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-06-13
    • 2023-03-16
    • 2022-11-23
    • 1970-01-01
    • 1970-01-01
    • 2020-08-20
    相关资源
    最近更新 更多