java - Android 取消选中单选按钮

标签 java android radio-button

我有这 3 个单选按钮,我们假设 radio1、radio2、radio3。我所做的是,如果我检查了 radio1 和 radio2,radio3 将不可检查,依此类推。所以我一次只能检查 2 个按钮。

然后我制作了这个按钮,如果我单击它,它将取消选中所有选中的单选按钮。现在我的问题是每当我尝试检查 radio1 和 radio2 并清除它时。即使不再检查 radio1 和 2,radio3 仍然不可点击。

RadioButton radio1;
RadioButton radio2;
RadioButton radio3;
Button clear;
TextView tv;

protected void onCreate(Bundle savedInstanceState) {
    // TODO Auto-generated method stub
    super.onCreate(savedInstanceState);
    setContentView(R.layout.secondxml);
radio1 = (RadioButton) findViewById(R.id.rd1);
radio2 = (RadioButton) findViewById(R.id.rd2);
radio3 = (RadioButton) findViewById(R.id.rd3);
radio1.setOnCheckedChangeListener(this);
radio2.setOnCheckedChangeListener(this);
radio3.setOnCheckedChangeListener(this);
tv = (TextView) findViewById(R.id.tv);
clear = (Button) findViewById(R.id.clear);
clear.setOnClickListener(new View.OnClickListener() {

    @Override
    public void onClick(View arg0) {
        // TODO Auto-generated method stub
    radio1.setChecked(false);
    radio2.setChecked(false);
    radio3.setChecked(false);
    tv.setText("");
    }
});
}

@Override
public void onCheckedChanged(CompoundButton arg0, boolean arg1) {
    // TODO Auto-generated method stub
    if(radio1.isChecked() && radio2.isChecked()){
        tv.setText("Radio1 and 2 is checked ");
        radio3.setClickable(false);
    }
    if(radio1.isChecked() && radio3.isChecked()){
            radio2.setClickable(false);
        tv.setText("radio 1 and 3 is checked");

    }
    if(radio2.isChecked() && radio3.isChecked()){
        radio1.setClickable(false);
        tv.setText("radio2 and 3 is checked");

    }
}

}

最佳答案

因此您设置了radio3通过调用 radio3.setClickable(false); 不可点击当您选择radio1时和radio2 。您的清除按钮不会扭转这一情况。

我建议您的onClick(...)为您清理的方法OnClickListener你打电话

radio1.setClickable(true);
radio2.setClickable(true);
radio3.setClickable(true);

当您清除选择时,这将阻止它们被禁用,使它们恢复到默认状态。

关于java - Android 取消选中单选按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6842844/

相关文章:

java - Java ArrayList 真的比 C++ vector 慢这么多吗?

android - 如何在台式机上调试 Android 的原生浏览器(不是 Chrome)?

c# - 如何在 ASP.NET 中找到选定的 RadioButton 的值?

R Shiny 将分隔符添加到单选按钮列表选项中

java - 如何使用 Apache MINA 从套接字读取二进制数据?

java - 使用 Spring、Tomcat 和 Java,如何使用 HTTP header 重定向请求?

java - Elasticsearch:使用 Java 添加手动映射

android - 如何在android上直接从麦克风到扬声器播放声音?

android - VerticalArrangement = Arrangement.Bottom 列不起作用

Magento - 使用 Google Checkout 作为 Onepage Checkout 选项的风险