我使用此代码从字符串中获取值,然后在执行操作后发布它。
问题是当我尝试擦除整个文本字段时输入一些值后意外停止。我使用onTextChanged
方法,我正在使用的代码段就在这里。当我使用Button在textWatcher
上提交时,它也能正常工作。
min=(EditText) findViewById(R.id.minutes);
sec=(EditText) findViewById(R.id.seconds);
millisec=(EditText) findViewById(R.id.milliseconds);
String minute = min.getText().toString();
Double min1=Double.parseDouble(minute);
min1=min1*60;
Double min2=min1*1000;
sec.setText(Double.toString(min1));
millisec.setText(Double.toString(min2));
答案 0 :(得分:2)
parseDouble将抛出一个NumberFormatException ... 因此,如果您清空该字段,您将获得例外。
您可以将代码包装在try-catch子句中:
String minute = min.getText().toString();
try{
Double min1 = Double.parseDouble(
min1=min1*60;
Double min2=min1*1000;
sec.setText(Double.toString(min1));
millisec.setText(Double.toString(min2));
} catch(NumberFormatException e){
sec.setText("");
millisec.setText("");
}