Tuesday, 15 May 2012

android - Fatal Exception: Unable to Start Activity Component Info -



android - Fatal Exception: Unable to Start Activity Component Info -

i'm new android app development , right i'm trying create simple calculator app. compiler doesn't observe errors , downloads phone successfully, when ran gets bunch of runtime errors.

public class mainactivity extends activity { button one; button two; button three; button four; button five; button six; button seven; button eight; button nine; button add; button sub; button multiply; button divide; button clear; button equals; string calculatenumber; textview textread; boolean add together = false; boolean sub = false; boolean multiply = false; boolean split = false; @override protected void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.activity_main); //references objects within xml file 1 = (button)findviewbyid(r.id.one); 2 = (button)findviewbyid(r.id.two); 3 = (button)findviewbyid(r.id.three); 4 = (button)findviewbyid(r.id.four); 5 = (button)findviewbyid(r.id.five); six= (button)findviewbyid(r.id.six); 7 = (button)findviewbyid(r.id.seven); eight= (button)findviewbyid(r.id.eight); 9 = (button)findviewbyid(r.id.nine); add= (button)findviewbyid(r.id.add); sub = (button)findviewbyid(r.id.sub); multiply = (button)findviewbyid(r.id.multiply); divide= (button)findviewbyid(r.id.divide); equals = (button)findviewbyid(r.id.equal); textread = (textview)findviewbyid(r.id.numbers); //action listeners each button add together string one.setonclicklistener(new button.onclicklistener() { public void onclick(view v) { calculatenumber = calculatenumber + "1"; textread.settext(calculatenumber); } }); two.setonclicklistener(new button.onclicklistener() { public void onclick(view v) { calculatenumber = calculatenumber + "2"; textread.settext(calculatenumber); } }); three.setonclicklistener(new button.onclicklistener() { public void onclick(view v) { calculatenumber = calculatenumber + "3"; textread.settext(calculatenumber); } }); four.setonclicklistener(new button.onclicklistener() { public void onclick(view v) { calculatenumber = calculatenumber + "4"; textread.settext(calculatenumber); } }); five.setonclicklistener(new button.onclicklistener() { public void onclick(view v) { calculatenumber = calculatenumber + "5"; textread.settext(calculatenumber); } }); six.setonclicklistener(new button.onclicklistener() { public void onclick(view v) { calculatenumber = calculatenumber + "6"; textread.settext(calculatenumber); } }); seven.setonclicklistener(new button.onclicklistener() { public void onclick(view v) { calculatenumber = calculatenumber + "7"; textread.settext(calculatenumber); } }); eight.setonclicklistener(new button.onclicklistener() { public void onclick(view v) { calculatenumber = calculatenumber + "8"; textread.settext(calculatenumber); } }); nine.setonclicklistener(new button.onclicklistener() { public void onclick(view v) { calculatenumber = calculatenumber + "9"; textread.settext(calculatenumber); } }); add.setonclicklistener(new button.onclicklistener() { public void onclick(view v) { calculatenumber = calculatenumber + " + "; add together = true; textread.settext(calculatenumber); } }); sub.setonclicklistener(new button.onclicklistener() { public void onclick(view v) { calculatenumber = calculatenumber + " - "; sub = true; textread.settext(calculatenumber); } }); multiply.setonclicklistener(new button.onclicklistener() { public void onclick(view v) { calculatenumber = calculatenumber + " x "; multiply = true; textread.settext(calculatenumber); } }); divide.setonclicklistener(new button.onclicklistener() { public void onclick(view v) { calculatenumber = calculatenumber + " / "; split = true; textread.settext(calculatenumber); } }); clear.setonclicklistener(new button.onclicklistener() { public void onclick(view v) { calculatenumber = ""; add together = false; sub = false; multiply = false; split = false; textread.settext(calculatenumber); } }); equals.setonclicklistener(new button.onclicklistener() { public void onclick(view v) { //splits 1 big string 2 strings can parsable ints string[] bothnumbers = calculatenumber.split("\\+"); double numberone = 0; double numbertwo = 0; numberone = double.parsedouble(bothnumbers[0]); numbertwo = double.parsedouble(bothnumbers[1]); if(add = true) { calculatenumber = "" + (numberone+numbertwo); add together = false; } else if(sub = true) { calculatenumber = "" + (numberone - numbertwo); sub = false; } else if (multiply = true) { calculatenumber = "" + (numberone*numbertwo); multiply = false; } else if (divide = true) { calculatenumber = "" + (numberone/numbertwo); split = false; } textread.settext(calculatenumber); } }); }

}

this 1 java file action listeners buttons. shouldn't have problems because they're called when buttons pressed.

<application android:allowbackup="true" android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:theme="@style/apptheme" > <activity android:name="com.example.cakculator.mainactivity" android:label="@string/app_name" > <intent-filter> <action android:name="android.intent.action.main" /> <category android:name="android.intent.category.launcher" /> </intent-filter> </activity> </application>

here errors eclipse gave me

06-20 10:48:16.678: e/androidruntime(25231): fatal exception: main 06-20 10:48:16.678: e/androidruntime(25231): java.lang.runtimeexception: unable start activity componentinfo{com.example.cakculator/com.example.cakculator.mainactivity}: java.lang.nullpointerexception 06-20 10:48:16.678: e/androidruntime(25231): @ android.app.activitythread.performlaunchactivity(activitythread.java:1967) 06-20 10:48:16.678: e/androidruntime(25231): @ android.app.activitythread.handlelaunchactivity(activitythread.java:1992) 06-20 10:48:16.678: e/androidruntime(25231): @ android.app.activitythread.access$600(activitythread.java:127) 06-20 10:48:16.678: e/androidruntime(25231): @ android.app.activitythread$h.handlemessage(activitythread.java:1158) 06-20 10:48:16.678: e/androidruntime(25231): @ android.os.handler.dispatchmessage(handler.java:99) 06-20 10:48:16.678: e/androidruntime(25231): @ android.os.looper.loop(looper.java:137) 06-20 10:48:16.678: e/androidruntime(25231): @ android.app.activitythread.main(activitythread.java:4511) 06-20 10:48:16.678: e/androidruntime(25231): @ java.lang.reflect.method.invokenative(native method) 06-20 10:48:16.678: e/androidruntime(25231): @ java.lang.reflect.method.invoke(method.java:511) 06-20 10:48:16.678: e/androidruntime(25231): @ com.android.internal.os.zygoteinit$methodandargscaller.run(zygoteinit.java:976) 06-20 10:48:16.678: e/androidruntime(25231): @ com.android.internal.os.zygoteinit.main(zygoteinit.java:743) 06-20 10:48:16.678: e/androidruntime(25231): @ dalvik.system.nativestart.main(native method) 06-20 10:48:16.678: e/androidruntime(25231): caused by: java.lang.nullpointerexception 06-20 10:48:16.678: e/androidruntime(25231): @ com.example.cakculator.mainactivity.oncreate(mainactivity.java:152) 06-20 10:48:16.678: e/androidruntime(25231): @ android.app.activity.performcreate(activity.java:4486) 06-20 10:48:16.678: e/androidruntime(25231): @ android.app.instrumentation.callactivityoncreate(instrumentation.java:1052) 06-20 10:48:16.678: e/androidruntime(25231): @ android.app.activitythread.performlaunchactivity(activitythread.java:1931) 06-20 10:48:16.678: e/androidruntime(25231): ... 11 more

if guys help me find thing causing errors, much appreciated!

button clear not set -> npe.

android

No comments:

Post a Comment