单击后检查和取消选中RadioButton

时间:2018-07-09 05:47:50

标签: java android radio-button

在单击时尝试检查和取消选中单选按钮时遇到问题。

我想做的是,当负载活动时,默认情况下单选按钮设置为选中。当用户按下选中的单选按钮时,我将单选按钮设置为取消选中并清空textview。然后,当用户再次按下单选按钮时,我将其设置为选中状态并在textview中设置了一些文本。这是我的代码:

@Click(R.id.radioButtonEmail)
void radioButtonEmailClicked(View v) {
    if(radioButtonEmail.isChecked() == true){
        radioButtonEmail.setChecked(false);
        editTextEmail.setText("");
    }else {
        radioButtonEmail.setChecked(true);
        editTextEmail.setText("TEST");
    }
}

但是,这仅在我尝试取消选中单选按钮时才有效。将其设置为false后,当我尝试再次检查它时,它将不起作用。有任何想法吗?谢谢!

1 个答案:

答案 0 :(得分:2)

对于您所看到的行为,我没有确切的解释,但是您的逻辑对我而言很不对。我认为您打算这样做:

@Click(R.id.radioButtonEmail)
void radioButtonEmailClicked(View v) {
    if (radioButtonEmail.isChecked()) {
        editTextEmail.setText("");
    }
    else {
        editTextEmail.setText("TEST");
    }
}

换句话说,您无法管理是否从事件处理程序中单击了单选按钮。相反,您检查在处理程序中是否处于该状态,然后做出适当的响应。