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

时间:2014-05-11 00:49:15

标签: java android

在我的代码中,如果用户按两次单选按钮,它将计算两次值。我怎么能阻止这个?我在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;

1 个答案:

答案 0 :(得分:1)

使用布尔值检查按钮是否已被按下一次,如果已经按下,则不再计算计算(通过将布尔值设置为true)。一旦计算完成,并且在用户按下按钮之前想要发生的任何事情,您可以将该布尔值设置回false。您只需要一个简单的if语句和一个布尔变量。