android - 删除 inputType 为 numberDecimal 的 EditText 文本
问题描述
所以我在 RecyclerView 中,其中包含输入类型为“numberDecimal”的 EditTexts 列表
写代码的时候
editText.getText().clear();
或者
editText.setText("");
或者
editText.setText(null);
我得到一个 java.lang.NumberFormatException: 空字符串。然而,在用户界面方面,我确实需要 editText 为空而不是“0”。或 "0.0" 。此外,如果用户在哪里删除所有内容,我将不得不通过(可能?)在编辑文本中添加 0 来处理该异常。我会接受这种情况,但我真的会尝试找到解决方案。
我意识到代码曾经试图做到这一点
Integer.parseInt("")
这会导致错误。我只是不知道该怎么做才能解决这个问题。
解决方案
editText.setText("");
应该按预期工作并清除EditText
. 问题在于Integer.parseInt("")
因为""
它不是一个有效的 int。不要这样做,而是检查您的editText.getText().toString()
是否为空,如下所示:
if(!editText.getText().toString().isEmpty()){
//do the parsing
}
此外,您的输入类型是numberDecimal
并且您正在尝试将其解析为Integer
,我建议您使用Double.parseDouble
.
推荐阅读
- powerbi - Power BI 中的日期转换
- react-native - 使用 react-native-image-picker 从图库中删除图像
- c++ - 为什么 _Printf_format_string_ 宏不产生任何警告?
- xaml - Xamarin 表单实现带有透明切口的底栏
- java - Apache poi 迁移到 jdk 11 问题
- angular - 一次运行 2 个单独的 Kendo-UI Angular 项目(理论上就像它只是一个项目一样)
- docker - 登录到 nexus docker 注册表时出现 401 未经授权的错误
- javascript - Fusioncharts 中的可滚动 X 轴
- delphi - 如何使用任务对话框常用图标加载 TImage?
- python - 部分匹配 2 列与另一列的条件