这是我的一段代码,我在其中动态检查edittext输入。
al_e.addTextChangedListener(new TextWatcher() {
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
// TODO Auto-generated method stub
}
@Override
public void beforeTextChanged(CharSequence s, int start, int count,
int after) {
// TODO Auto-generated method stub
}
@Override
public void afterTextChanged(Editable s) {
// TODO Auto-generated method stub
String al_s=s.toString().trim();
if((Float.parseFloat(al_s)<15)|(Float.parseFloat(al_s)>50)|al_s.equals("")){
invalid=1;
al_s="";
//Toast.makeText(getApplicationContext(),"Please enter a valid input\nRange [15mm,50mm]", Toast.LENGTH_SHORT).show();
al_e.setError("Please enter a valid input\nRange [15mm,50mm]");
}else{
al=Float.parseFloat(al_s);
}
}
});
但是当我在edittext中输入文本并使用退格键清除数字时,我得到以下异常
02-10 09:43:37.186: E/AndroidRuntime(434): FATAL EXCEPTION: main
02-10 09:43:37.186: E/AndroidRuntime(434): java.lang.NumberFormatException:
02-10 09:43:37.186: E/AndroidRuntime(434): at org.apache.harmony.luni.util.FloatingPointParser.parseFloat(FloatingPointParser.java:305)
02-10 09:43:37.186: E/AndroidRuntime(434): at java.lang.Float.parseFloat(Float.java:323)
02-10 09:43:37.186: E/AndroidRuntime(434): at com.example.iolcalci.Second$4.onTextChanged(Second.java:208)
在论坛搜索了类似的问题,但没有找到它。有关此的任何帮助。我是 android 开发的初学者