java - App cannot pass values between activities -
i working on app in user inputs number 1 activity, , number shows on next activity. have far.
first activity: entertext.java
public class entertext extends activity { //this string passed next activity public static string mynumber = "com.example.listviewexplorer.message"; @override protected void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.activity_enter_text); } @override public boolean oncreateoptionsmenu(menu menu) { // inflate menu; adds items action bar if present. getmenuinflater().inflate(r.menu.enter_text, menu); return true; } //this onclick, button invoke sendmessage //sendmessage supposed start next activity public void sendmessage(view view){ intent intent = new intent (this, displaytext.class); edittext edittext = (edittext) findviewbyid(r.id.edittext1); mynumber = edittext.gettext().tostring(); intent.putextra("mynumber",mynumber); startactivity(intent); } }
second activity: displaytext.java
public class displaytext extends activity { @override protected void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); bundle extras=getintent().getextras(); string mynumber = extras.getstring("mynumber"); textview textview = (textview)findviewbyid(r.id.textview1); textview.settext(entertext.mynumber); setcontentview(r.layout.activity_display_text); // show button in action bar. setupactionbar(); } }
the problem app crashes when press button on first activity , calls sendmessage; second activity isn't displayed.
does know why occurring?
logcat
posted below.
get it!
05-29 11:57:59.385: w/dalvikvm(3046): threadid=1: thread exiting uncaught exception (group=0x42d5d140) 05-29 11:57:59.425: e/androidruntime(3046): fatal exception: main 05-29 11:57:59.425: e/androidruntime(3046): process: com.example.listviewexplorer, pid: 3046 05-29 11:57:59.425: e/androidruntime(3046): java.lang.runtimeexception: unable start activity componentinfo{com.example.listviewexplorer/com.example.listviewexplorer.displaytext}: java.lang.nullpointerexception 05-29 11:57:59.425: e/androidruntime(3046): @ android.app.activitythread.performlaunchactivity(activitythread.java:2195) 05-29 11:57:59.425: e/androidruntime(3046): @ android.app.activitythread.handlelaunchactivity(activitythread.java:2245) 05-29 11:57:59.425: e/androidruntime(3046): @ android.app.activitythread.access$800(activitythread.java:135) 05-29 11:57:59.425: e/androidruntime(3046): @ android.app.activitythread$h.handlemessage(activitythread.java:1196) 05-29 11:57:59.425: e/androidruntime(3046): @ android.os.handler.dispatchmessage(handler.java:102) 05-29 11:57:59.425: e/androidruntime(3046): @ android.os.looper.loop(looper.java:136) 05-29 11:57:59.425: e/androidruntime(3046): @ android.app.activitythread.main(activitythread.java:5017) 05-29 11:57:59.425: e/androidruntime(3046): @ java.lang.reflect.method.invokenative(native method) 05-29 11:57:59.425: e/androidruntime(3046): @ java.lang.reflect.method.invoke(method.java:515) 05-29 11:57:59.425: e/androidruntime(3046): @ com.android.internal.os.zygoteinit$methodandargscaller.run(zygoteinit.java:779) 05-29 11:57:59.425: e/androidruntime(3046): @ com.android.internal.os.zygoteinit.main(zygoteinit.java:595) 05-29 11:57:59.425: e/androidruntime(3046): @ dalvik.system.nativestart.main(native method) 05-29 11:57:59.425: e/androidruntime(3046): caused by: java.lang.nullpointerexception 05-29 11:57:59.425: e/androidruntime(3046): @ com.example.listviewexplorer.displaytext.oncreate(displaytext.java:21) 05-29 11:57:59.425: e/androidruntime(3046): @ android.app.activity.performcreate(activity.java:5231) 05-29 11:57:59.425: e/androidruntime(3046): @ android.app.instrumentation.callactivityoncreate(instrumentation.java:1087) 05-29 11:57:59.425: e/androidruntime(3046): @ android.app.activitythread.performlaunchactivity(activitythread.java:2159) 05-29 11:57:59.425: e/androidruntime(3046): ... 11 more
you need assign layout before using it.
@override protected void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); // assign layout setcontentview(r.layout.activity_display_text); // can use textview textview = (textview)findviewbyid(r.id.textview1); textview.settext(entertext.mynumber); ... }
since layout has not been defined @ stage null
, when try access views inside nullpointerexception
thrown.
Comments
Post a Comment