android, how to get the value of a spinner? -
this sample app testing.
i have mainactivity , secondactivity. spinner on secondactivity, text view on mainactivity display first item on spinner, when select item 2,3, or 4 on spinner , press submit button, still displays first item on drop down list. have 3 textfields spinner, value of textfields gets displayed correctly.
here code secondactivity package com.example.example.sample_form;
import android.content.intent; import android.support.v7.app.appcompatactivity; import android.os.bundle; import android.view.view; import android.widget.adapterview; import android.widget.arrayadapter; import android.widget.button; import android.widget.edittext; import android.widget.spinner; import android.widget.toast; public class secondactivity extends appcompatactivity implements adapterview.onitemselectedlistener { button btn2; @override protected void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.activity_second); btn2 = (button)findviewbyid(r.id.button1); btn2.setonclicklistener(new view.onclicklistener() { public void onclick(view view) { // text edittext edittext etusername = (edittext)findviewbyid(r.id.etusername); string stringtopassback = etusername.gettext().tostring(); // put string pass intent , close activity intent myintent1 = getintent(); myintent1.putextra("@string/user", stringtopassback); // text edittext etpassword = (edittext)findviewbyid(r.id.etpassword); string stringtopassback1 = etpassword.gettext().tostring(); // put string pass intent myintent2 = getintent(); myintent2.putextra("@string/pass", stringtopassback1); // text edittext etemail = (edittext)findviewbyid(r.id.etemail); string stringtopassback2 = etemail.gettext().tostring(); // put string pass intent myintent3 = getintent(); myintent3.putextra("@string/email", stringtopassback2); // adding spinner spinner spinner1 = (spinner)findviewbyid(r.id.spinner); // create arrayadapter using string array , default spinner layout arrayadapter<?> adapter = arrayadapter.createfromresource(secondactivity.this, r.array.select_length, android.r.layout.simple_spinner_item); //specify layout use when list of choices appears adapter.setdropdownviewresource(android.r.layout. simple_spinner_dropdown_item); // apply adapter spinner spinner1.setadapter(adapter); string stringtopassback3 = spinner1.getseleceteditem().tostring(); intent myintent4 = getintent(); myintent4.putextra("@string/spinner_title", stringtopassback3); // close activity setresult(result_ok, myintent1); finish(); } }); } @override public void onitemselected(adapterview<?> spinner, view view, int pos, long id) { spinner = (spinner)findviewbyid(r.id.spinner); spinner.setonclicklistener((view.onclicklistener) this); string item = spinner.getitematposition(pos).tostring(); toast.maketext(spinner.getcontext(), "selected:" + item, toast.length_long).show(); } @override public void onnothingselected(adapterview<?> spinner) { } }
this mainactivity code package com.example.example.sample_form;
import android.content.intent; import android.support.v7.app.appcompatactivity; import android.os.bundle; import android.view.view; import android.widget.button; import android.widget.textview; public class mainactivity extends appcompatactivity { private static final int second_activity_result_code = 0; button btn; @override protected void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.activity_main); btn = (button)findviewbyid(r.id.button); btn.setonclicklistener(new view.onclicklistener() { @override public void onclick(view view) { intent myintent = new intent(mainactivity.this, secondactivity.class); startactivityforresult(myintent, second_activity_result_code); } }); } // method called when second activity finishes @override protected void onactivityresult(int requestcode, int resultcode, intent data) { super.onactivityresult(requestcode, resultcode, data); // check secondactivity ok result if (requestcode == second_activity_result_code) { if (resultcode == result_ok) { // string data intent string etusername = data.getstringextra("@string/user"); // set text view string textview textview = (textview)findviewbyid(r.id.textview); textview.settext(etusername); { string etpassword = data.getstringextra("@string/pass"); textview textview1 = (textview)findviewbyid(r.id.textview1); textview1.settext(etpassword); { string etemail = data.getstringextra("@string/email"); textview textview2 = (textview)findviewbyid(r.id.textview2); textview2.settext(etemail); { string spinner = data.getstringextra("@string/spinner_title"); textview textview3 = (textview)findviewbyid(r.id.textview3); textview3.settext(spinner); } } } } } } }
this spinner in activity_second
<spinner android:id="@+id/spinner" android:layout_width="100dp" android:layout_height="wrap_content" android:prompt="@string/spinner_title" android:entries="@array/select_length" android:spinnermode="dropdown" android:layout_toendof="@+id/etemail" android:layout_marginstart="23dp" android:layout_below="@+id/etpassword" android:layout_above="@+id/button1"> </spinner>
this view in activity main
<textview android:id="@+id/textview3" android:layout_width="100dp" android:layout_height="wrap_content" android:layout_below="@+id/textview1" android:layout_toendof="@+id/text" />
please have been struggling 2 days on this. appreciated.
Comments
Post a Comment