java - How to refer a Spinner entry correctly? -


i've been making app android uses spinner list show name of few cities. need program change textview right below spinner display location of selected item in array. wrote following code same

public class mainscreen extends activity { string[] cityarray = { "agra ", "ahmedabad", "alappuzha", "amritsar"}; spinner list = (spinner) findviewbyid(r.id.listview1); textview nam = (textview)findviewbyid(r.id.textview2);  @override protected void oncreate(bundle savedinstancestate) {       super.oncreate(savedinstancestate);       setcontentview(r.layout.activity_main_screen);        arrayadapter adapter = new arrayadapter<string>(this, r.layout.activity_listview, cityarray);       list.setadapter(adapter);   list.setonitemselectedlistener(new onitemselectedlistener() {      @override     public void onitemselected(adapterview<?> parentview, view view,int position, long id)      {         nam.settext(list.getselecteditemposition());     }      @override     public void onnothingselected(adapterview<?> parent) {         nam.settext("none selected");     }  }); } } 

there no errors while running program, app force closes opened.

logcat:

04-10 08:49:30.423: i/dalvikvm(561): threadid=3: reacting signal 3 04-10 08:49:30.723: i/dalvikvm(561): wrote stack traces '/data/anr/traces.txt' 04-10 08:49:30.783: i/dalvikvm(561): threadid=3: reacting signal 3 04-10 08:49:30.823: d/androidruntime(561): shutting down vm 04-10 08:49:30.823: w/dalvikvm(561): threadid=1: thread exiting uncaught exception (group=0x409c01f8) 04-10 08:49:30.844: e/androidruntime(561): fatal exception: main 04-10 08:49:30.844: e/androidruntime(561): java.lang.runtimeexception: unable instantiate activity componentinfo{com.droidrish.droidweather/com.droidrish.droidweather.mainscreen}: java.lang.nullpointerexception 04-10 08:49:30.844: e/androidruntime(561):  @ android.app.activitythread.performlaunchactivity(activitythread.java:1880) 04-10 08:49:30.844: e/androidruntime(561):  @ android.app.activitythread.handlelaunchactivity(activitythread.java:1981) 04-10 08:49:30.844: e/androidruntime(561):  @ android.app.activitythread.access$600(activitythread.java:123) 04-10 08:49:30.844: e/androidruntime(561):  @ android.app.activitythread$h.handlemessage(activitythread.java:1147) 04-10 08:49:30.844: e/androidruntime(561):  @ android.os.handler.dispatchmessage(handler.java:99) 04-10 08:49:30.844: e/androidruntime(561):  @ android.os.looper.loop(looper.java:137) 04-10 08:49:30.844: e/androidruntime(561):  @ android.app.activitythread.main(activitythread.java:4424) 04-10 08:49:30.844: e/androidruntime(561):  @ java.lang.reflect.method.invokenative(native method) 04-10 08:49:30.844: e/androidruntime(561):  @ java.lang.reflect.method.invoke(method.java:511) 04-10 08:49:30.844: e/androidruntime(561):  @ com.android.internal.os.zygoteinit$methodandargscaller.run(zygoteinit.java:784) 04-10 08:49:30.844: e/androidruntime(561):  @ com.android.internal.os.zygoteinit.main(zygoteinit.java:551) 04-10 08:49:30.844: e/androidruntime(561):  @ dalvik.system.nativestart.main(native method) 04-10 08:49:30.844: e/androidruntime(561): caused by: java.lang.nullpointerexception 04-10 08:49:30.844: e/androidruntime(561):  @ android.app.activity.findviewbyid(activity.java:1794) 04-10 08:49:30.844: e/androidruntime(561):  @ com.droidrish.droidweather.mainscreen.<init>(mainscreen.java:15) 04-10 08:49:30.844: e/androidruntime(561):  @ java.lang.class.newinstanceimpl(native method) 04-10 08:49:30.844: e/androidruntime(561):  @ java.lang.class.newinstance(class.java:1319) 04-10 08:49:30.844: e/androidruntime(561):  @ android.app.instrumentation.newactivity(instrumentation.java:1023) 04-10 08:49:30.844: e/androidruntime(561):  @ android.app.activitythread.performlaunchactivity(activitythread.java:1871) 04-10 08:49:30.844: e/androidruntime(561):  ... 11 more 04-10 08:49:30.844: i/dalvikvm(561): wrote stack traces '/data/anr/traces.txt' 04-10 08:49:31.416: i/dalvikvm(561): threadid=3: reacting signal 3 04-10 08:49:31.443: i/dalvikvm(561): wrote stack traces '/data/anr/traces.txt' 04-10 08:49:31.583: i/dalvikvm(561): threadid=3: reacting signal 3 04-10 08:49:31.603: i/dalvikvm(561): wrote stack traces '/data/anr/traces.txt' 04-10 08:49:33.722: i/process(561): sending signal. pid: 561 sig: 9 

am using onitemselected listener right way? i'm expecting program change text of textview location of item in spinner.

spinner , textview should initialized inside oncreate this:

public class mainscreen extends activity {        string[] cityarray = { "agra ", "ahmedabad", "alappuzha", "amritsar"};       spinner list;       textview nam;  @override protected void oncreate(bundle savedinstancestate) {       super.oncreate(savedinstancestate);       setcontentview(r.layout.activity_main_screen);        list = (spinner)findviewbyid(r.id.listview1);       nam = (textview)findviewbyid(r.id.textview2); 

and change this:

 nam.settext(list.getselecteditemposition()); 

to:

nam.settext(list.getselecteditem().tostring()); 

if want index, this:

nam.settext(string.valueof(list.getselecteditemposition())); 

Popular posts from this blog