我正在使用磁盘空间计算器,我需要根据用户输入动态计算一些值。我的应用程序中有一个EditText元素接收数字。我想调用函数calculate(),当用户在文本字段中输入一个值时,它将自动计算其他值。这里是我的代码,它当EditText为空时,用于动态计算的Android崩溃
//fps is my EditText element
this.fps.addTextChangedListener(new TextWatcher() {
@Override
public void onTextChanged(CharSequence s, int start, int before, int count)
{
// TODO Auto-generated method stub
calculate();
}
@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
}
});
我的计算()函数使用文本输入,将其转换成浮点计算像其他带宽值。它工作正常,但问题出现时,我想删除EditText中的所有数字添加另一个。在editText中没有任何内容的时候,它会发出异常。我的理解,这是因为没有什么可以转化为浮动这样解析异常等 我试图把一个默认值
if(fps.getText().length==0)
fps.setText("1");
但它不工作。我怎么解决这个问题?
非常感谢我的解决方案,我尝试了它,它的工作原理+1,但因为我不能接受多个答案,我想我会使用try catch块解决方案。 – Anila 2012-02-22 13:38:50