java - android app keeps crashing "unfortunately,Calculator Has stopped" -


i keep getting error log when try run following code there error message:

03-11 16:00:08.350: e/androidruntime(842): fatal exception: main 03-11 16:00:08.350: e/androidruntime(842): java.lang.runtimeexception: unable start activity componentinfo{com.example.calculator/com.example.calculator.mainactivity}: java.lang.numberformatexception: invalid double: "" 03-11 16:00:08.350: e/androidruntime(842):  @ android.app.activitythread.performlaunchactivity(activitythread.java:2180) 03-11 16:00:08.350: e/androidruntime(842):  @ android.app.activitythread.handlelaunchactivity(activitythread.java:2230) 03-11 16:00:08.350: e/androidruntime(842):  @ android.app.activitythread.access$600(activitythread.java:141) 03-11 16:00:08.350: e/androidruntime(842):  @ android.app.activitythread$h.handlemessage(activitythread.java:1234) 03-11 16:00:08.350: e/androidruntime(842):  @ android.os.handler.dispatchmessage(handler.java:99) 03-11 16:00:08.350: e/androidruntime(842):  @ android.os.looper.loop(looper.java:137) 03-11 16:00:08.350: e/androidruntime(842):  @ android.app.activitythread.main(activitythread.java:5041) 03-11 16:00:08.350: e/androidruntime(842):  @ java.lang.reflect.method.invokenative(native method) 03-11 16:00:08.350: e/androidruntime(842):  @ java.lang.reflect.method.invoke(method.java:511) 03-11 16:00:08.350: e/androidruntime(842):  @ com.android.internal.os.zygoteinit$methodandargscaller.run(zygoteinit.java:793) 03-11 16:00:08.350: e/androidruntime(842):  @ com.android.internal.os.zygoteinit.main(zygoteinit.java:560) 03-11 16:00:08.350: e/androidruntime(842):  @ dalvik.system.nativestart.main(native method) 03-11 16:00:08.350: e/androidruntime(842): caused by: java.lang.numberformatexception: invalid double: "" 03-11 16:00:08.350: e/androidruntime(842):  @ java.lang.stringtoreal.invalidreal(stringtoreal.java:63) 03-11 16:00:08.350: e/androidruntime(842):  @ java.lang.stringtoreal.parsedouble(stringtoreal.java:248) 03-11 16:00:08.350: e/androidruntime(842):  @ java.lang.double.parsedouble(double.java:295) 03-11 16:00:08.350: e/androidruntime(842):  @ com.example.calculator.mainactivity.oncreate(mainactivity.java:21) 03-11 16:00:08.350: e/androidruntime(842):  @ android.app.activity.performcreate(activity.java:5104) 03-11 16:00:08.350: e/androidruntime(842):  @ android.app.instrumentation.callactivityoncreate(instrumentation.java:1080) 03-11 16:00:08.350: e/androidruntime(842):  @ android.app.activitythread.performlaunchactivity(activitythread.java:2144) 03-11 16:00:08.350: e/androidruntime(842):  ... 11 more 03-11 16:05:08.990: e/androidruntime(959): fatal exception: main 03-11 16:05:08.990: e/androidruntime(959): java.lang.runtimeexception: unable start activity componentinfo{com.example.calculator/com.example.calculator.mainactivity}: java.lang.numberformatexception: invalid double: "" 03-11 16:05:08.990: e/androidruntime(959):  @ android.app.activitythread.performlaunchactivity(activitythread.java:2180) 03-11 16:05:08.990: e/androidruntime(959):  @ android.app.activitythread.handlelaunchactivity(activitythread.java:2230) 03-11 16:05:08.990: e/androidruntime(959):  @ android.app.activitythread.access$600(activitythread.java:141) 03-11 16:05:08.990: e/androidruntime(959):  @ android.app.activitythread$h.handlemessage(activitythread.java:1234) 03-11 16:05:08.990: e/androidruntime(959):  @ android.os.handler.dispatchmessage(handler.java:99) 03-11 16:05:08.990: e/androidruntime(959):  @ android.os.looper.loop(looper.java:137) 03-11 16:05:08.990: e/androidruntime(959):  @ android.app.activitythread.main(activitythread.java:5041) 03-11 16:05:08.990: e/androidruntime(959):  @ java.lang.reflect.method.invokenative(native method) 03-11 16:05:08.990: e/androidruntime(959):  @ java.lang.reflect.method.invoke(method.java:511) 03-11 16:05:08.990: e/androidruntime(959):  @ com.android.internal.os.zygoteinit$methodandargscaller.run(zygoteinit.java:793) 03-11 16:05:08.990: e/androidruntime(959):  @ com.android.internal.os.zygoteinit.main(zygoteinit.java:560) 03-11 16:05:08.990: e/androidruntime(959):  @ dalvik.system.nativestart.main(native method) 03-11 16:05:08.990: e/androidruntime(959): caused by: java.lang.numberformatexception: invalid double: "" 03-11 16:05:08.990: e/androidruntime(959):  @ java.lang.stringtoreal.invalidreal(stringtoreal.java:63) 03-11 16:05:08.990: e/androidruntime(959):  @ java.lang.stringtoreal.parsedouble(stringtoreal.java:248) 03-11 16:05:08.990: e/androidruntime(959):  @ java.lang.double.parsedouble(double.java:295) 03-11 16:05:08.990: e/androidruntime(959):  @ com.example.calculator.mainactivity.oncreate(mainactivity.java:21) 03-11 16:05:08.990: e/androidruntime(959):  @ android.app.activity.performcreate(activity.java:5104) 03-11 16:05:08.990: e/androidruntime(959):  @ android.app.instrumentation.callactivityoncreate(instrumentation.java:1080) 03-11 16:05:08.990: e/androidruntime(959):  @ android.app.activitythread.performlaunchactivity(activitythread.java:2144) 03-11 16:05:08.990: e/androidruntime(959):  ... 11 more 

mainactivity.java

package com.example.calculator;  import android.os.bundle; import android.app.activity; import android.view.menu; import android.widget.edittext; import android.widget.textview;  public class mainactivity extends activity {      @override     protected void oncreate(bundle savedinstancestate) {         super.oncreate(savedinstancestate);         setcontentview(r.layout.activity_main);            textview tprincipalamount   = (textview)findviewbyid(r.id.tprincipalamount);         edittext editprincipalamount= (edittext)findviewbyid(r.id.editprincipalamount);         string string_principal_amount = editprincipalamount.gettext().tostring();         double dbprincipalamount = double.parsedouble(string_principal_amount);           textview tinterestrate =(textview) findviewbyid(r.id.tinterestrate);         edittext editinterestrate =(edittext) findviewbyid(r.id.editinterestrate);         string string_editinterestrate =editinterestrate.gettext().tostring();         double dbinterestrate = double.parsedouble(string_editinterestrate);         }  } 

activity_main.xml

<relativelayout xmlns:android="http://schemas.android.com/apk/res/android"     xmlns:tools="http://schemas.android.com/tools"     android:layout_width="match_parent"     android:layout_height="match_parent"     android:paddingbottom="@dimen/activity_vertical_margin"     android:paddingleft="@dimen/activity_horizontal_margin"     android:paddingright="@dimen/activity_horizontal_margin"     android:paddingtop="@dimen/activity_vertical_margin"     tools:context=".mainactivity" >      <textview         android:id="@+id/tprincipalamount"         android:layout_width="wrap_content"         android:layout_height="wrap_content"         android:layout_alignparentleft="true"         android:layout_alignparenttop="true"         android:layout_marginleft="14dp"         android:text="principal amount ($)" />      <edittext         android:id="@+id/editprincipalamount"         android:layout_width="wrap_content"         android:layout_height="wrap_content"         android:layout_alignleft="@+id/tprincipalamount"         android:layout_below="@+id/tprincipalamount"         android:ems="10" />      <textview         android:id="@+id/tinterestrate"         android:layout_width="wrap_content"         android:layout_height="wrap_content"         android:layout_alignleft="@+id/editprincipalamount"         android:layout_below="@+id/editprincipalamount"         android:layout_margintop="26dp"         android:text="interest rate" />      <edittext         android:id="@+id/editinterestrate"         android:layout_width="wrap_content"         android:layout_height="wrap_content"         android:layout_alignparentleft="true"         android:layout_below="@+id/tinterestrate"         android:layout_margintop="27dp"         android:ems="10" />  </relativelayout> 

thank you

the string want parse double not contain value that's why getting numberformatexception. should check string contains valid value. now, check below...

@override protected void oncreate(bundle savedinstancestate) {     super.oncreate(savedinstancestate);     setcontentview(r.layout.activity_main);        textview tprincipalamount   = (textview)findviewbyid(r.id.tprincipalamount);     edittext editprincipalamount= (edittext)findviewbyid(r.id.editprincipalamount);     string string_principal_amount = editprincipalamount.gettext().tostring();     double dbprincipalamount = 0;      if (string_principal_amount != null && !string_principal_amount.equals("")) {          dbprincipalamount = double.parsedouble(string_principal_amount);      }       textview tinterestrate =(textview) findviewbyid(r.id.tinterestrate);     edittext editinterestrate =(edittext) findviewbyid(r.id.editinterestrate);     string string_editinterestrate =editinterestrate.gettext().tostring();      double dbinterestrate = 0;      if (string_editinterestrate != null && !string_editinterestrate.equals("")) {          dbinterestrate = double.parsedouble(string_editinterestrate);       }   } 

Comments

Popular posts from this blog

get url and add instance to a model with prefilled foreign key :django admin -

android - Keyboard hides my half of edit-text and button below it even in scroll view -

css - Make div keyboard-scrollable in jQuery Mobile? -