これが私のコードで、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開発の初心者です。