android-studio - 选中单选按钮或复选框时,计算价格
问题描述
我正在创建一个允许用户自己选择的应用程序。
我可以知道如何计算吗?单击单选按钮或复选框时,似乎不包括价格。请帮我。是逻辑错误还是语法错误?
radioGroup1=(RadioGroup)findViewById(R.id.radioGroup_1);
radioGroup1.setOnCheckedChangeListener(
new RadioGroup.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(RadioGroup group, @IdRes int checkedId) {
String tempSize="Choose your size";
double SPrice=0;
switch (radioGroup1.getCheckedRadioButtonId()){
case R.id.radioButton_munch:
tempSize="Personal Pan";
SPrice=5;
break;
case R.id.radioButton_hungry:
tempSize="Regular Pan";
SPrice=9;
break;
case R.id.radioButton_horse:
tempSize="Large Pan";
SPrice=12;
break;
}
Size.setText(tempSize);
SizePrice = SPrice;
}
});
checkBoxListener = new View.OnClickListener() {
@Override
public void onClick(View v) {
Topping = (TextView)findViewById(R.id.textView_TopAns);
Topping.setText(" ");
if(ChkCheese.isChecked()){
Topping.setText(Topping.getText().toString() + ChkCheese.getText().toString());
ToppingPrice=2.5;
}
if(ChkMushroom.isChecked()){
Topping.setText(Topping.getText().toString() + "," + ChkMushroom.getText().toString());
ToppingPrice=1;
}
};
ChkCheese.setOnClickListener(checkBoxListener);
ChkMushroom.setOnClickListener(checkBoxListener);
TotalPrice = SizePrice + CrustPrice + ToppingPrice;
Price.setText("$" + TotalPrice );
}
}
解决方案
把这段代码:
TotalPrice = SizePrice + CrustPrice + ToppingPrice;
Price.setText("$" + TotalPrice );
方法内部onClick()
:
@Override
public void onClick(View v) {
Topping = (TextView)findViewById(R.id.textView_TopAns);
Topping.setText(" ");
if(ChkCheese.isChecked()){
Topping.setText(Topping.getText().toString() + ChkCheese.getText().toString());
ToppingPrice=2.5;
}
if(ChkMushroom.isChecked()){
Topping.setText(Topping.getText().toString() + "," + ChkMushroom.getText().toString());
ToppingPrice=1;
}
TotalPrice = SizePrice + CrustPrice + ToppingPrice;
Price.setText("$" + TotalPrice );
};
所以它在每次单击复选框时执行。
推荐阅读
- python - Django 选择在模型的保存方法中加载图像的位置
- ip - 怎么给电脑设置静态ip
- python - 转换为列表后枚举对象为空
- python-3.x - twoSum 问题的蛮力方法不起作用
- spartacus-storefront - 如何禁用斯巴达克斯默认呼叫
- excel - Excel - 在 FilterXML 中添加 Excel 公式
- excel - 选中一个复选框时如何取消选择所有其他复选框
- google-cloud-platform - Azure 策略的 GCP 等效项
- azure - 为 Azure Key Vault 配置灾难恢复和自动故障转移?
- javascript - Bot 在用户加入时不会向用户发送消息