Java 按两次单选按钮,计算两次

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

在我的代码中,如果用户按两次单选按钮,它将计算两次值。我怎样才能防止这种情况?我在onClick中使用switch语句

@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())检查是否已检查某个内容的逻辑,但如何在不停止第一次循环的情况下检查是否再次单击?你建议把逻辑陈述放在哪里?