首页 > 解决方案 > 检查之前选择的重做按钮是否被取消选中 - Android 开发

问题描述

所以我有以下代码示例。此代码将检测是否已选择单选按钮。如果选择了 hotdog_button,则 total 增加 3(稍后将转换为 TextView 3.00 美元)。

RadioButton hotdogBtn = (RadioButton) findViewById(R.id.hotdog_button);
RadioButton nachosBtn = (RadioButton) findViewById(R.id.nachos_button);
...
View.OnClickListener hotdogListener = new View.OnClickListener(){
            @Override
            public void onClick(View view) {
                addTotal(5);
            }
        };
View.OnClickListener nachosListener = new View.OnClickListener(){
            @Override
            public void onClick(View view) {
                addTotal(4);
            }
        };
...
private void addTotal(int add) {
        total += add;
    }

如何检查 hotdogBtn 是否已发布?一旦按钮被释放,它将被传递给函数 subtractTotal(与 add total 相反),然后将相应地更新 TextView。

标签: javaandroid

解决方案


你最好使用OnCheckedChangeListener而不是OnClickListener

并检查isChecked参数以了解按钮是选中还是未选中

hotdogBtn.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
    @Override
    public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
        if (isChecked) {
            addTotal(3);
        } else {
            subtractTotal(3);
        }
    }
});

如果您需要使用OnClickListener,那么您可以使用hotdogBtn.isChecked()


推荐阅读