首页 > 解决方案 > 删除 inputType 为 numberDecimal 的 EditText 文本

问题描述

所以我在 RecyclerView 中,其中包含输入类型为“numberDecimal”的 EditTexts 列表

写代码的时候

editText.getText().clear();

或者

editText.setText("");

或者

editText.setText(null);

我得到一个 java.lang.NumberFormatException: 空字符串。然而,在用户界面方面,我确实需要 editText 为空而不是“0”。或 "0.0" 。此外,如果用户在哪里删除所有内容,我将不得不通过(可能?)在编辑文本中添加 0 来处理该异常。我会接受这种情况,但我真的会尝试找到解决方案。

我意识到代码曾经试图做到这一点

Integer.parseInt("")

这会导致错误。我只是不知道该怎么做才能解决这个问题。

标签: android

解决方案


editText.setText("");应该按预期工作并清除EditText. 问题在于Integer.parseInt("")因为""它不是一个有效的 int。不要这样做,而是检查您的editText.getText().toString()是否为空,如下所示:

if(!editText.getText().toString().isEmpty()){
    //do the parsing
}

此外,您的输入类型是numberDecimal并且您正在尝试将其解析为Integer,我建议您使用Double.parseDouble.


推荐阅读