在String中获取价值

时间:2013-09-10 14:25:01

标签: android

我使用此代码从字符串中获取值,然后在执行操作后发布它。

问题是当我尝试擦除整个文本字段时输入一些值后意外停止。我使用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));

1 个答案:

答案 0 :(得分:2)

如果你没有传递一个可解析的String,那么

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("");
}