【问题标题】:Android EditText does not take periodAndroid EditText 不需要时间
【发布时间】:2016-03-06 04:35:34
【问题描述】:

我有一个 EditText 窗口,当我输入一个双数(例如 0,01 显示 001)时,它不会使用句点(逗号)符号(oper2 代表操作数 2)。奇怪的是,它上面的 EditText 窗口(oper1 代表操作数 2)需要一段时间。据我所见,它具有完全相同的代码。谁能告诉我出了什么问题?下面是相关的java代码:

if ((operand1.getText().length() > 0) && (operand2.getText().length() > 0)) {
                double oper1 = Double.parseDouble(operand1.getText().toString());
                double oper2 = Double.parseDouble(operand2.getText().toString());
                double theResult = ((oper2 * oper1 * 60) / 40);
                String stringResult = String.format("%.2f", theResult);
                mlHour.setText(stringResult + " ml/t");
            } else {
                Toast.makeText(AdrenalinActivity.this, getString(R.string.toastNoradrenalin), Toast.LENGTH_LONG).show();
            }
        }
    });

【问题讨论】:

  • 你是如何定义你的 EditText 的?
  • 你把我引向了正确的方向。我进入 EditText 窗口的属性并检查了“数字十进制”,由于某种原因没有检查。这解决了问题。谢谢!
  • 你的布局? TextView 上设置了哪些属性?

标签: android android-edittext


【解决方案1】:

在 EditText 的 XML 中,如果您有 android:inputType="number",我相信它只允许使用数字。

如果是这样,请更改为android:inputType="numberDecimal"

您可能还想用android:digits="0123456789." 来补充这一点(这会将输入限制为仅使用这些数字(例如逗号,-(负数)将无法输入)。

【讨论】:

    猜你喜欢
    • 2014-02-03
    • 2020-12-27
    • 2014-01-14
    • 2016-10-21
    • 2014-07-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-04
    相关资源
    最近更新 更多