android - Returning strings to a previous activity usint intents -
i have 2 activities has second activity return text inputs user , respectively change textviews. however, when passing text inputs second activity returning empty.
the second activity's onclick method goes main activity:
public void onclick(view v) { intent = new intent(); edittext txt1 = (edittext)findviewbyid(r.id.txt_name); i.putextra("str3", txt1.gettext()); edittext txt2 = (edittext)findviewbyid(r.id.txt_address); i.putextra("str4", txt2.gettext()); setresult(result_ok, i); finish(); } }); } the method called after second activity finishes
public void onactivityresult(int requestcode,int resultcode, intent data) { textview txt = (textview)findviewbyid(r.id.txt_one); txt.settext(getintent().getstringextra("str3")); }
try below
public void onactivityresult(int requestcode,int resultcode, intent data) { txt.settext(getintent().getstringextra("str3")); } also move initialization oncreate.
textview txt ; @override protected void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); txt = (textview)findviewbyid(r.id.txt_one); ... // rest of code } the same edittext's also. declare class members , initialize in oncreate no need intialize everytime on button click
edit:
also use below
public editable gettext ()
added in api level 1
return text textview displaying. if settext() called argument of buffertype.spannable or buffertype.editable, can cast return value method spannable or editable, respectively. note: content of return value should not modified. if want modifiable one, should make own copy first.
http://developer.android.com/reference/android/widget/edittext.html
string value1 = txt1.gettext().tostring(); i.putextra("str3", value1);
Comments
Post a Comment