【问题标题】:How can I use a Radio Button as a Toggle Button (Android)?如何将单选按钮用作切换按钮 (Android)?
【发布时间】:2012-05-19 15:13:04
【问题描述】:

出于外观和间距的目的,我需要使用单选按钮作为切换按钮,但对于我的生活,无法让愚蠢的东西改变其状态。现在有谁可以让一个单选按钮在其选中状态之间切换?我不知道是否有办法通过使用 Radio Group 或一些 if/else 语句组合来欺骗它(尽管当我尝试这个时,它似乎认为它已被检查,即使它不是)。或者也许让一个切换按钮看起来像一个单选按钮?

【问题讨论】:

  • 对于一个简单的方法,检查这个答案:stackoverflow.com/a/47023965/3758439 也可以使用xml将复选框方形按钮更改为圆形,SO上有类似的解决方案。

标签: android radio-button toggle togglebutton


【解决方案1】:

RadioButton 有几种方法可以让你改变它的状态。

toggle()

setChecked(boolean b)

您称为“切换按钮”的小部件的名称被系统称为CompoundButton。 RadioButton 实际上扩展了 CompoundButton。所以它可以访问所有相同的方法。

【讨论】:

  • 然而,根据开发人员的页面,使用带有单选按钮的 toggle() 只会选中它,如果它已经选中,则不会取消选中它。我还没有尝试过,并且在我尝试之前希望有另一个想法。
  • 好的,但它同时提供 getChecked() 和 setChecked(boolean b) 你可以使用它们的组合来切换,无论状态是什么......就Android RadioButton IS A Toggle Button .它会做任何切换按钮可以做的事情。
  • 我已经尝试了我能想到的所有可能的组合,但我无法让它切换状态。它要么保持选中状态,要么让我取消选中它,但不会重新选中它。
【解决方案2】:

只需创建您自己的android.support.v7.widget.AppCompatRadioButton 类并覆盖名为toggle() 的方法

这就是诀窍:

@Override
public void toggle(){
  setChecked(!isChecked());
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-09-12
    • 1970-01-01
    • 2013-02-13
    • 1970-01-01
    • 2011-07-28
    • 2020-05-20
    • 2013-09-10
    相关资源
    最近更新 更多