У меня есть простой процесс
Проще говоря, пользователь вводит число в EditText, выбирает переключатель и затем нажимает кнопку вычисления. Радиокнопки подключены к операторам if, которые, в свою очередь, обращаются к плавающим значениям, которые возвращаются, заменяя число, указанное в EditText. Тем не менее, похоже, что если нажать кнопку «Рассчитать» до того, как будут введены какие-либо числа, возникает исключение в формате чисел, вызывающее сбой приложения.
Пока я введу значение по умолчанию в EditText, чтобы уменьшить шансы на это, но мне было интересно, есть ли способ избежать исключения все вместе, используя что-то вроде оператора if или что-то подобное
вот пример кода
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.EditText;
import android.widget.RadioButton;
import com.admob.android.ads.AdManager;
import com.admob.android.ads.AdView;
import com.medialets.android.analytics.MMAnalyticsManager;
public class Area extends Activity {
private EditText text9;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.area);
text9 = (EditText)findViewById(R.id.EditText09);
public void myClickHandler09(View view){
switch (view.getId()) {
case R.id.Button09:
RadioButton SeveralRadioButtons = (RadioButton) findViewById (R.id.RadioButton901);
float inputValue = Float.parseFloat(text9.getText().toString());
String checkValue = String.valueOf(inputValue);
if (checkValue.equals("")){
text9.setText(String.valueOf(""));
} else {
if (SeveralRadioButtons.isChecked()) {
text9.setText(String
.valueOf(conversionfactor(inputValue)));
}
break;
}}}
private double conversionfactor(float f){
return f * 6.4516;
}
Где
(SeveralRadioButtons)
называется, на самом деле есть несколько переключателей и оператор if и private double для каждого соответственно
Как вы можете видеть, я уже предпринял попытку исправить проблему, но исключение числового формата все еще появляется.