java - Android app force closes while going on another activity -
i making android app using android 2.2 , eclipse.
there 2 workflows of app:
wf1: coverpageapp -> loginactivity -> dashboard.
wf2: coverpageapp -> registeractivity -> dashboard.
but click on start button in coverpageapp go on activity, i.e loginactivity, app force closes. have included logcat shows error of null exception , in loginactivity java file points on line 51: btnlinktoregistrscrn = (button) findviewbyid(r.id.linktoregisterscreen);
androidmanifest.xml
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.app.android" android:versioncode="1" android:versionname="1.0" > <uses-sdk android:targetsdkversion="15" android:minsdkversion="8" /> <uses-permission android:name="android.permission.access_fine_location" /> <uses-permission android:name="android.permission.internet" /> <application android:icon="@drawable/ic_launcher" android:label="@string/app_name" > <activity android:enabled="true" android:name=".pageapp" android:label="@string/app_name" > <intent-filter> <action android:name="android.intent.action.main" /> <category android:name="android.intent.category.launcher" /> </intent-filter> </activity> <activity android:enabled="true" android:name=".loginactivity1" android:label="login activity" > </activity> <activity android:enabled="true" android:name=".caactivity" android:label="register activity" > </activity> <activity android:enabled="true" android:name=".dashboardactivity" android:label="dashboard activity" > </activity> </application> </manifest> pageapp.java
import android.app.activity; import android.os.bundle; //import android.content.context; import android.content.intent; import android.widget.button; import android.view.view; public class pageapp extends activity { button startbutton; /** called when activity first created. */ @override public void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.coverpage); addlisteneronbutton(); } public void addlisteneronbutton() { //final context context1 = this; startbutton = (button) findviewbyid(r.id.button1); startbutton.setonclicklistener(new view.onclicklistener() { @override public void onclick(view arg0) { intent intent1 = new intent(arg0.getcontext(), loginactivity1.class); // intent1.addflags(intent.flag_activity_clear_top); startactivity(intent1); finish(); } }); } } log.java
import android.app.activity; //import android.content.context; import android.content.intent; import android.os.bundle; import android.view.view; //import android.view.view.onclicklistener; import android.widget.button; //import android.widget.textview; public class log extends activity { button btnlinktoregistrscrn; button loginbtn1; /** called when activity first created. */ @override public void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.login); addlisteneronbutton(); // btnlinktoregistrscrn = (button) findviewbyid(r.id.linktoregisterscreen); } public void addlisteneronbutton() { //final context context2 = this; loginbtn1 = (button) findviewbyid(r.id.btnlogin); loginbtn1.setonclicklistener(new view.onclicklistener() { @override public void onclick(view arg0) { intent intent = new intent(arg0.getcontext(), dashboardactivity.class); intent.addflags(intent.flag_activity_clear_top); startactivity(intent); } }); } { // link register screen btnlinktoregistrscrn = (button) findviewbyid(r.id.linktoregisterscreen); btnlinktoregistrscrn.setonclicklistener(new view.onclicklistener() { @override public void onclick(view v) { intent = new intent(v.getcontext(), caaactivity.class); // i.addflags(intent.flag_activity_clear_top); startactivity(i); } }); } } logcat
05-31 17:53:19.691: d/androidruntime(1958): shutting down vm 05-31 17:53:19.710: w/dalvikvm(1958): threadid=1: thread exiting uncaught exception (group=0x4001d800) 05-31 17:53:19.730: e/androidruntime(1958): fatal exception: main 05-31 17:53:19.730: e/androidruntime(1958): @ android.app.activitythread.performlaunchactivity(activitythread.java:2585) 05-31 17:53:19.730: e/androidruntime(1958): @ android.app.activitythread.handlelaunchactivity(activitythread.java:2679) 05-31 17:53:19.730: e/androidruntime(1958): @ android.app.activitythread.access$2300(activitythread.java:125) 05-31 17:53:19.730: e/androidruntime(1958): @ android.app.activitythread$h.handlemessage(activitythread.java:2033) 05-31 17:53:19.730: e/androidruntime(1958): @ android.os.handler.dispatchmessage(handler.java:99) 05-31 17:53:19.730: e/androidruntime(1958): @ android.os.looper.loop(looper.java:123) 05-31 17:53:19.730: e/androidruntime(1958): @ android.app.activitythread.main(activitythread.java:4627) 05-31 17:53:19.730: e/androidruntime(1958): @ java.lang.reflect.method.invokenative(native method) 05-31 17:53:19.730: e/androidruntime(1958): @ java.lang.reflect.method.invoke(method.java:521) 05-31 17:53:19.730: e/androidruntime(1958): @ com.android.internal.os.zygoteinit$methodandargscaller.run(zygoteinit.java:868) 05-31 17:53:19.730: e/androidruntime(1958): @ com.android.internal.os.zygoteinit.main(zygoteinit.java:626) 05-31 17:53:19.730: e/androidruntime(1958): @ dalvik.system.nativestart.main(native method) 05-31 17:53:19.730: e/androidruntime(1958): caused by: java.lang.nullpointerexception 05-31 17:53:19.730: e/androidruntime(1958): @ android.app.activity.findviewbyid\untime(1958): @ java.lang.class.newinstanceimpl(native method) 05-31 17:53:19.730: e/androidruntime(1958): @ java.lang.class.newinstance(class.java:1429) 05-31 17:53:19.730: e/androidruntime(1958): @ android.app.instrumentation.newactivity(instrumentation.java:1021) 05-31 17:53:19.730: e/androidruntime(1958): @ android.app.activitythread.performlaunchactivity(activitythread.java:2577) 05-31 17:53:19.730: e/androidruntime(1958): ... 11 more
change loginactivity1 activity as:
public class loginactivity1 extends activity { button btnlinktoregistrscrn; button loginbtn1; /** called when activity first created. */ @override public void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.login); addlisteneronbutton(); // link register screen btnlinktoregistrscrn = (button) findviewbyid(r.id.linktoregisterscreen); btnlinktoregistrscrn.setonclicklistener(new view.onclicklistener() { @override public void onclick(view v) { intent = new intent(v.getcontext(), trekeyesandroidactivity.class); // i.addflags(intent.flag_activity_clear_top); startactivity(i); } }); } public void addlisteneronbutton() { //final context context2 = this; loginbtn1 = (button) findviewbyid(r.id.btnlogin); loginbtn1.setonclicklistener(new view.onclicklistener() { @override public void onclick(view arg0) { intent intent = new intent(arg0.getcontext(), dashboardactivity.class); intent.addflags(intent.flag_activity_clear_top); startactivity(intent); } }); } } and in xml change textview button as
<button android:id="@+id/linktoregisterscreen" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_gravity="center" android:layout_margintop="25dip" android:textcolor="#21dbd4" android:textstyle="bold" android:text="@string/noaccountregisterme" />
Comments
Post a Comment