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

标签 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;

最佳答案

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

关于java - 按单选按钮两次,计算两次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23587805/

相关文章:

java - 如何从 Spring Boot 获取操作系统环境变量?

java - 如何在MySQL数据库中保存的字符串中进行搜索

java - 如何在java中释放句柄

java - Android Java实现1个页面2个按钮

android - 具有相同构建类型的多个模块

java - 从 java 进程获取输出

java - 我想跳过循环java中的每个第三个字符串元素?

android - openSSL使用Android的NDK问题

class - 扩展 Android 应用程序类

Android Scroll Webview 可编辑到光标 - 软键盘