java - 如何使用 radioButton 通过用户输入执行不同的方程式?
问题描述
我在使用单选按钮通过用户输入执行不同的计算时遇到问题。如果 radioButton.isChecked,用户插入其值并单击“计算”按钮,我无法检索答案。
我已经在 OnClickListener 中尝试了 if/else 语句,但是如果我选择相应的按钮,应用程序就会崩溃。
让我解释一下我的代码:
- 用户选择所需的单选按钮;
- 用户插入其数据并进行验证:该字段不能为空或只有一个点 (.)(作为不让应用程序崩溃的一种形式,并且它运行良好);
- 用户单击“计算”按钮,然后在 TextView 上检索其关于所选单选按钮的答案。
这里是:
calcbtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
if (view.getId() == R.id.calcbtn){
float n1, n2;
String value1 = vol.getText().toString(); //storing user inputs
String value2 = tempo.getText().toString();
if (value1.equals("") || value1.equals(".")) { //validation starts in this line
n1 = 0;
} else {
n1 = Float.parseFloat(value1);
}
if (value2.equals("") || value2.equals(".")) {
n2 = 0;
} else {
n2 = Float.parseFloat(value2);
} //validation ends
if (radioButton1.isChecked()){ //calculation starts
float ansA = n1/(n2*3);
resultATextView.setText(String.format("The result A is: ", ansA));
float ansB = n1/n2;
resultBTextView.setText(String.format("The result B is: ", ansB));
}
else if (radioButton2.isChecked()){
float ansC = (n1/n2)*20;
resultCTextView.setText(String.format("The result C is: ", ansC));
float ansD = (n1/n2)*60;
resultDTextView.setText(String.format("The result D is: ", ansD));
}
}
}
});
我应该在每个受人尊敬的 TextView 中检索答案,但如果我只选择一个按钮,应用程序就会崩溃。我是 Java 初学者,非常感谢您的帮助。
解决方案
推荐阅读
- angular - 错误:无法解析 ApplicationModule 的所有参数:(?)。升级到 Angular 7 后运行 ng 测试时
- mysql - 从评论栏中选择数据
- regex - 使用 sed 移动文本文件中的匹配行
- pointers - &&T (reference to reference) 在 Rust 中是什么意思?
- visual-studio - NUnit 加载失败,使用版本 3.11
- r - 如何使用 for 循环单独过滤多列的分位数
- python - 从python中的EMAIL中提取本身属于MSG类型的附件
- javascript - Chrome 更新 73 - Materialise CSS JS 触发错误
- android - Google Play 控制台 - 在已关闭的曲目之间切换
- angular - 在以编程方式设置之前,BehaviorSubject 始终默认为 false