为什么在RadioButton的onClick中调用isChecked

时间:2017-09-24 14:08:52

标签: android

不点击RadioButton意味着它已被检查。有一些代码示例如下: -

public void onRadioButtonClicked(View view) {
    // Is the button now checked?
    boolean checked = ((RadioButton) view).isChecked();

    // Check which radio button was clicked
    switch(view.getId()) {
        case R.id.radio_pirates:
            if (checked)
                // Pirates are the best
            break;
        case R.id.radio_ninjas:
            if (checked)
                // Ninjas rule
            break;
    }
}

一个https://developer.android.com/guide/topics/ui/controls/radiobutton.html

为什么我不能这样做: -

public void onRadioButtonClicked(View view) {
    // Check which radio button was clicked
    switch(view.getId()) {
        case R.id.radio_pirates:
            // Pirates are the best
            break;
        case R.id.radio_ninjas:
            // Ninjas rule
            break;
    }
}

1 个答案:

答案 0 :(得分:0)

来自RadioButton documentation

  

单选按钮是一个双状态按钮,可以选中或   选中。取消选中单选按钮后,用户可以按或   点击它检查它。但是,与CheckBox相反,是一个单选按钮   一旦检查,用户就无法取消选中。

     

单选按钮通常在RadioGroup中一起使用。当几个   收音机按钮位于收音机组内,检查一个单选按钮   取消所有其他人。

     

请参阅Radio Buttons guide

因此,主要目的是通知另一个单选按钮有关检查状态。

请注意,RadioButton继承了Button行为。因此,您可以复制Button的相同处理代码以及已选中或未选中状态。