Я ввожу плавающие числа в мои поля EditText и хочу вычислить результат на основе некоторой логики, как показано ниже, и отобразить результат в TextView. Я хотел знать, в чем проблема с этим методом, так как я получаю ошибку с этим Я знаю, что это просто, но я новичок в Android.
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.bmi);
bmi1=(EditText) findViewById(R.id.editText1);
bmi2=(EditText) findViewById(R.id.editText2);
bmi3=(TextView) findViewById(R.id.bmiText);
bmi2.addTextChangedListener(new TextWatcher(){
@Override
public void afterTextChanged(Editable ab) {
// TODO Auto-generated method stub
}
public void beforeTextChanged(CharSequence s, int start, int count, int after){}
public void onTextChanged(CharSequence s, int start, int before, int count){
calRes();
}
});
ImageButton ImBtn=(ImageButton)findViewById(R.id.imageButton1);
ImBtn.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
Intent newIntent=new Intent(Activity1.this,DragNDropListActivity.class);
startActivity(newIntent);
finish();
}
});
}
public void calRes() {
String a;
String b;
float c;
a = bmi1.getEditableText().toString(); //gets you the contents of edit text
b = bmi2.getEditableText().toString();
c= Float.parseFloat(a)/(Float.parseFloat(b)*Float.parseFloat(b));
bmi3.setText(String.valueOf(c));
}
}
Ошибка:
08-29 12:05:03.658: ERROR/AndroidRuntime(299): FATAL EXCEPTION: main
08-29 12:05:03.658: ERROR/AndroidRuntime(299): java.lang.NumberFormatException: lengte in metre
08-29 12:05:03.658: ERROR/AndroidRuntime(299): at org.apache.harmony.luni.util.FloatingPointParser.initialParse(FloatingPointParser.java:130)
08-29 12:05:03.658: ERROR/AndroidRuntime(299): at org.apache.harmony.luni.util.FloatingPointParser.parseFloat(FloatingPointParser.java:319)
08-29 12:05:03.658: ERROR/AndroidRuntime(299): at java.lang.Float.parseFloat(Float.java:291)
08-29 12:05:03.658: ERROR/AndroidRuntime(299): at com.android.mds.health.nursing.formula.Activity1.calRes(Activity1.java:87)
08-29 12:05:03.658: ERROR/AndroidRuntime(299): at com.android.mds.health.nursing.formula.Activity1$1.onTextChanged(Activity1.java:45)
08-29 12:05:03.658: ERROR/AndroidRuntime(299): at android.widget.TextView.sendOnTextChanged(TextView.java:6131)
08-29 12:05:03.658: ERROR/AndroidRuntime(299): at android.widget.TextView.handleTextChanged(TextView.java:6172)
08-29 12:05:03.658: ERROR/AndroidRuntime(299): at android.widget.TextView$ChangeWatcher.onTextChanged(TextView.java:6316)
08-29 12:05:03.658: ERROR/AndroidRuntime(299): at android.text.SpannableStringBuilder.sendTextChange(SpannableStringBuilder.java:889)
08-29 12:05:03.658: ERROR/AndroidRuntime(299): at android.text.SpannableStringBuilder.change(SpannableStringBuilder.java:400)
08-29 12:05:03.658: ERROR/AndroidRuntime(299): at android.text.SpannableStringBuilder.change(SpannableStringBuilder.java:269)
08-29 12:05:03.658: ERROR/AndroidRuntime(299): at android.text.SpannableStringBuilder.replace(SpannableStringBuilder.java:432)
08-29 12:05:03.658: ERROR/AndroidRuntime(299): at android.text.SpannableStringBuilder.delete(SpannableStringBuilder.java:218)
08-29 12:05:03.658: ERROR/AndroidRuntime(299): at android.text.SpannableStringBuilder.delete(SpannableStringBuilder.java:28)
08-29 12:05:03.658: ERROR/AndroidRuntime(299): at android.text.method.BaseKeyListener.backspace(BaseKeyListener.java:60)
08-29 12:05:03.658: ERROR/AndroidRuntime(299): at android.text.method.BaseKeyListener.onKeyDown(BaseKeyListener.java:123)
08-29 12:05:03.658: ERROR/AndroidRuntime(299): at android.text.method.QwertyKeyListener.onKeyDown(QwertyKeyListener.java:327)
08-29 12:05:03.658: ERROR/AndroidRuntime(299): at android.text.method.TextKeyListener.onKeyDown(TextKeyListener.java:132)