Я работаю над калькулятором дискового пространства, и мне нужно динамически вычислять некоторые значения в соответствии с пользовательским вводом. В моем приложении есть элемент EditText, который получает числа. Я хочу вызвать мою функцию Calculate (), которая будет автоматически вычислять другие значения, когда пользователь вводит значение в текстовое поле. Вот мой код для этого
//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
}
});
Моя функция Calculate () использует ввод текста, преобразует его в число с плавающей точкой и вычисляет другие значения, такие как пропускная способность. Это работает нормально, но проблема возникает, когда я хочу удалить все номера в EditText, чтобы добавить еще один. В тот момент, когда в editText ничего нет, это дает исключение. Что я понимаю, это потому, что нечего конвертировать в float, так что синтаксический анализ и т. Д.
Я попытался поставить значение по умолчанию
if(fps.getText().length==0)
fps.setText("1");
Но это не работает. Как я могу решить эту проблему?