Android 获取字符串中的值

Android 获取字符串中的值,android,Android,我用这段代码从字符串中获取值,然后在执行操作后发布它 问题是,当我尝试删除整个文本字段时,输入一些值后,它意外停止。我使用onTextChanged方法,我正在处理的代码片段就在这里。当我在textWatcher上使用按钮提交时,它也可以正常工作 min=(EditText) findViewById(R.id.minutes); sec=(EditText) findViewById(R.id.seconds); millisec=(EditText) findViewById(R.id.mi

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

问题是,当我尝试删除整个文本字段时,输入一些值后,它意外停止。我使用
onTextChanged
方法,我正在处理的代码片段就在这里。当我在
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));

如果未传递可解析字符串,则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("");
} 

您是否在使用完
TextWatcher
后将其取消设置?此外,LogCat输出也会有所帮助。