Java 按两次单选按钮,计算两次
在我的代码中,如果用户按两次单选按钮,它将计算两次值。我怎样才能防止这种情况?我在onClick中使用switch语句Java 按两次单选按钮,计算两次,java,android,Java,Android,在我的代码中,如果用户按两次单选按钮,它将计算两次值。我怎样才能防止这种情况?我在onClick中使用switch语句 @Override public void onClick(View v) { double value; NumberFormat myMileFormat = new DecimalFormat("0.00"); NumberFormat myMeterFormat = new DecimalFormat("0000"); String s
@Override
public void onClick(View v) {
double value;
NumberFormat myMileFormat = new DecimalFormat("0.00");
NumberFormat myMeterFormat = new DecimalFormat("0000");
String stringEmptyCheck = edit_distance.getText().toString();
switch (v.getId()) {
case R.id.button_minusDis:
decrementLength();
break;
case R.id.button_plusDis:
incrementLength();
break;
case R.id.button_done:
this.finish();
break;
case R.id.radio_miles:
if (stringEmptyCheck.matches("")) {
Toast.makeText(getApplicationContext(),
"Miles or meters cannot be empty", Toast.LENGTH_LONG)
.show();
value = 3.50;
edit_distance.setText(myMileFormat.format(value));
} else {
value = Double.parseDouble(edit_distance.getText().toString());
if ((value /= 1609.00) > DistanceInterval.MAX_LENGTH_MILES) {
value = DistanceInterval.MAX_LENGTH_MILES;
}
edit_distance.setText(myMileFormat.format(value));
}
break;
使用布尔值检查按钮是否已按下一次,如果已按下,则不会再次计算(通过将布尔值设置为true)。一旦计算完成,在用户按下按钮之前,您希望发生的任何事情都已经发生,您可以将该布尔值设置回false。您只需要一个简单的if语句和一个布尔变量。如果单选按钮已被选中,请添加一些逻辑来检测它是否已被选中,然后不要重新计算它是否已被选中。onClick事件将在单击时触发,而不仅仅是在未选中单选按钮的情况下。我理解使用if(radio_miles.isChecked())检查是否已检查某个内容的逻辑,但如何在不停止第一次循环的情况下检查是否再次单击?你建议把逻辑陈述放在哪里?