【发布时间】:2023-03-30 03:00:01
【问题描述】:
我在对 ListView 行中的 EditText 执行空检查时遇到问题。基本上,每当我按下特定列表视图行中的save 按钮时,我想通过Integer.parseInt(((EditText) row.findViewById(R.id.milesEntry)).getText().toString()); 从milesEntry EditText 视图中提取信息。当我用实际数据填写一行中的milesEntry EditText 字段并执行解析时,一切正常,但如果我单击save 而不向milesEntry 字段添加数据,我的应用程序将崩溃。这是我的问题的调试代码
View row = entries.getChildAt(indexInAdapter - firstVisible);
int milesFromTheEditText;
EditText e = (EditText)row.findViewById(R.id.milesEntry);
if(e.getText().toString == null) {
System.out.println("ITS NULL");
}else if(e.getText().toString() == "") {
System.out.println("EMPTY STRING");
}else {
System.out.print("NEITHER");
问题是每当我单击save 按钮时,我的应用程序“NEITHER”上的milesEntry EditText 字段为空,因为它既不是空字符串也不是空字符串,因此无法手动捕获导致我的应用程序崩溃的异常。
另外,我也没有在milesEntry 的初始化中设置任何文本。只是一个提示,设置为“里程”。
编辑:已解决
我发现if(e.getText().toString().length == 0) 会为我捕获异常。
【问题讨论】:
-
检查 Logcat 的确切异常。
-
你也可以使用实用方法
TextUtils.isEmpty(),它封装了长度和空值检查
标签: java android android-listview parseint