java - 检查之前选择的重做按钮是否被取消选中 - 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。
解决方案
你最好使用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()
推荐阅读
- magento - 从自定义产品类型创建产品
- php - 在 PHP 中从 XLSM 编辑 Excel XML 工作表文件
- php - 如何在没有文件扩展名的情况下调用我的文件/函数名
- azure - Microsoft Data Factory Azure 中的 Web 活动 - 获取标头和传递参数(当前显示为空)
- ssl - 如何在使用 ISTIO 服务网格时为 ldap/opendj 配置 ssl
- tensorflow - 如何在 keras 中创建滑动二维自动编码器?
- r - For循环矢量化
- javascript - 如果对象已经处于状态,则不要添加新条目
- python - 用 Python 标记 ISCX 僵尸网络数据集 2014
- java - Java中的线程和对象