Saturday, 15 May 2010

Populating TextView With Spinner Selected Item - Android -



Populating TextView With Spinner Selected Item - Android -

i wish set string content of textview object selection made in dropdown spinner (they needed labels , alter often). tring 2 working. have declared fields , done findviewbyid on each. app runs , displays spinners , contents, when add together listener spinner crashes. help appreciated can not see has gone wrong

oncreate()

public class mainactivity extends actionbaractivity { edittext valueinput; spinner distance_selector1; spinner distance_selector2; textview resultoutput; textview unitsinput; textview unitsoutput; /** called when activity first created. */ @override public void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.activity_main); //ensures keyboard hidden @ start of activity this.getwindow().setsoftinputmode(windowmanager.layoutparams.soft_input_state_always_hidden); initcontrols(); }

initcontrols()

public void initcontrols(){ valueinput=(edittext)findviewbyid(r.id.input); if(valueinput.gettext().tostring().equals(null) || valueinput.gettext().tostring().equals("")) { toast.maketext(this,"please", toast.length_long).show(); } resultoutput=(textview)findviewbyid(r.id.result); /** next population of spinner drop downwards menu * array of values in strings.xml */ unitsinput=(textview)findviewbyid(r.id.unitsinput); unitsoutput=(textview)findviewbyid(r.id.unitsoutput); spinner spinner1 = (spinner) findviewbyid(r.id.distance_selector1); spinner spinner2 = (spinner) findviewbyid(r.id.distance_selector2); // create arrayadapter using string array , default spinner layout arrayadapter<charsequence> adapter = arrayadapter.createfromresource(this, r.array.distance_array, android.r.layout.simple_spinner_item); // specify layout utilize when list of choices appears adapter.setdropdownviewresource(android.r.layout.simple_dropdown_item_1line); // apply adapter spinner spinner1.setadapter(adapter); spinner2.setadapter(adapter); distance_selector1.setonitemselectedlistener(new onitemselectedlistener() { @override public void onitemselected(adapterview<?> parent, view view, int position, long id) { string str = distance_selector1.getselectedview().tostring(); unitsinput.settext(str); } @override public void onnothingselected(adapterview<?> parent) { } }); }

logcat:

06-23 14:04:58.140: e/androidruntime(1258): fatal exception: main 06-23 14:04:58.140: e/androidruntime(1258): process: com.example.converterking, pid: 1258 06-23 14:04:58.140: e/androidruntime(1258): java.lang.runtimeexception: unable start activity componentinfo{com.example.converterking/com.example.converterking.mainactivity}: java.lang.nullpointerexception 06-23 14:04:58.140: e/androidruntime(1258): @ android.app.activitythread.performlaunchactivity(activitythread.java:2195) 06-23 14:04:58.140: e/androidruntime(1258): @ android.app.activitythread.handlelaunchactivity(activitythread.java:2245) 06-23 14:04:58.140: e/androidruntime(1258): @ android.app.activitythread.access$800(activitythread.java:135) 06-23 14:04:58.140: e/androidruntime(1258): @ android.app.activitythread$h.handlemessage(activitythread.java:1196) 06-23 14:04:58.140: e/androidruntime(1258): @ android.os.handler.dispatchmessage(handler.java:102) 06-23 14:04:58.140: e/androidruntime(1258): @ android.os.looper.loop(looper.java:136) 06-23 14:04:58.140: e/androidruntime(1258): @ android.app.activitythread.main(activitythread.java:5017) 06-23 14:04:58.140: e/androidruntime(1258): @ java.lang.reflect.method.invokenative(native method) 06-23 14:04:58.140: e/androidruntime(1258): @ java.lang.reflect.method.invoke(method.java:515) 06-23 14:04:58.140: e/androidruntime(1258): @ com.android.internal.os.zygoteinit$methodandargscaller.run(zygoteinit.java:779) 06-23 14:04:58.140: e/androidruntime(1258): @ com.android.internal.os.zygoteinit.main(zygoteinit.java:595) 06-23 14:04:58.140: e/androidruntime(1258): @ dalvik.system.nativestart.main(native method) 06-23 14:04:58.140: e/androidruntime(1258): caused by: java.lang.nullpointerexception 06-23 14:04:58.140: e/androidruntime(1258): @ com.example.converterking.mainactivity.initcontrols(mainactivity.java:76) 06-23 14:04:58.140: e/androidruntime(1258): @ com.example.converterking.mainactivity.oncreate(mainactivity.java:45) 06-23 14:04:58.140: e/androidruntime(1258): @ android.app.activity.performcreate(activity.java:5231) 06-23 14:04:58.140: e/androidruntime(1258): @ android.app.instrumentation.callactivityoncreate(instrumentation.java:1087) 06-23 14:04:58.140: e/androidruntime(1258): @ android.app.activitythread.performlaunchactivity(activitythread.java:2159) 06-23 14:04:58.140: e/androidruntime(1258): ... 11 more

try way

spinner1.setonitemselectedlistener(new onitemselectedlistener() { @override public void onitemselected(adapterview<?> parent, view view, int position, long id) { string str = spinner1.getselecteditem().tostring(); unitsinput.settext(str); } @override public void onnothingselected(adapterview<?> parent) { } });

you should set setonitemselectedlistener(..) spinner1. guess got npe it's because forget initialized distance_selector1.

android textview spinner listener android-spinner

No comments:

Post a Comment