android - Transfer data between EditText and Text View in different activities -
i novice android app development. have issue here. in 1st activity, have created 10 rows. each row contain next button links second activity. in 2nd activity,i have edittext field input user details such account name, password , etc. each time update account name, when press android button, row should contain updated name. not able pass account name 1st activity.
below code 1st activity:
public class accountsetup extends activity { @override public void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.account_main); this.initviews(); } private void initviews(){ textview user1 = (textview)findviewbyid(r.id.user1); button iconnext1 = (button)findviewbyid(r.id.iconnext1); iconnext1.setonclicklistener(new onclicklistener() { public void onclick(view v) { intent intent1 = new intent(accountsetup.this, accountsettingactivity1.class); intent1.putextra("rowid","1"); startactivityforresult(intent1, 100); } }); button iconnext2 = (button)findviewbyid(r.id.iconnext2); iconnext2.setonclicklistener(new onclicklistener() { public void onclick(view v) { intent intent2 = new intent(accountsetup.this, accountsettingactivity2.class); startactivity(intent2); finish(); } }); button iconnext3 = (button)findviewbyid(r.id.iconnext3); iconnext3.setonclicklistener(new onclicklistener() { public void onclick(view v) { intent intent3 = new intent(accountsetup.this, accountsettingactivity3.class); //onnewintent((intent) v.gettag()); intent3.putextra("rowid","3"); startactivity(intent3); finish(); } }); button iconnext4 = (button)findviewbyid(r.id.iconnext4); iconnext4.setonclicklistener(new onclicklistener() { public void onclick(view v) { intent intent4 = new intent(accountsetup.this, accountsettingactivity4.class); //onnewintent((intent) v.gettag()); intent4.putextra("rowid","4"); startactivity(intent4); finish(); } }); button iconnext5 = (button)findviewbyid(r.id.iconnext5); iconnext5.setonclicklistener(new onclicklistener() { public void onclick(view v) { intent intent5 = new intent(accountsetup.this, accountsettingactivity5.class); //onnewintent((intent) v.gettag()); intent5.putextra("rowid","5"); startactivity(intent5); finish(); } }); button iconnext6 = (button)findviewbyid(r.id.iconnext6); iconnext6.setonclicklistener(new onclicklistener() { public void onclick(view v) { intent intent6 = new intent(accountsetup.this, accountsettingactivity6.class); //onnewintent((intent) v.gettag()); intent6.putextra("rowid","6"); startactivity(intent6); finish(); } }); button iconnext7 = (button)findviewbyid(r.id.iconnext7); iconnext7.setonclicklistener(new onclicklistener() { public void onclick(view v) { intent intent7 = new intent(accountsetup.this, accountsettingactivity7.class); //onnewintent((intent) v.gettag()); intent7.putextra("rowid","7"); startactivity(intent7); finish(); } }); button iconnext8 = (button)findviewbyid(r.id.iconnext8); iconnext8.setonclicklistener(new onclicklistener() { public void onclick(view v) { intent intent8 = new intent(accountsetup.this, accountsettingactivity8.class); //onnewintent((intent) v.gettag()); intent8.putextra("rowid","8"); startactivity(intent8); finish(); } }); button iconnext9 = (button)findviewbyid(r.id.iconnext9); iconnext9.setonclicklistener(new onclicklistener() { public void onclick(view v) { intent intent9 = new intent(accountsetup.this, accountsettingactivity9.class); //onnewintent((intent) v.gettag()); intent9.putextra("rowid","9"); startactivity(intent9); finish(); } }); button iconnext10 = (button)findviewbyid(r.id.iconnext10); iconnext10.setonclicklistener(new onclicklistener() { public void onclick(view v) { intent intent10 = new intent(accountsetup.this, accountsettingactivity10.class); //onnewintent((intent) v.gettag()); intent10.putextra("rowid","10"); startactivity(intent10); finish(); } }); } @override public void onbackpressed() { intent = new intent(accountsetup.this, welcomeactivity.class); startactivity(i); finish(); super.onbackpressed(); } @override protected void onactivityresult(int requestcode,int resultcode, intent data) { if (requestcode == 100) { if (resultcode == result_ok) { string accountname1 = data.getstringextra("accountname1"); } } } }
and following code 2nd activity.
public class accountsettingactivity1 extends activity{ private edittext etaccountname; private edittext etwanip; private edittext etlocalip; private edittext etport; private edittext etpassword; @override protected void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.account_tab_content_setting); this.initviews(); } private void initviews(){ etaccountname = (edittext)this.findviewbyid(r.id.etaccountname); etwanip = (edittext)this.findviewbyid(r.id.etwanip); etlocalip = (edittext)this.findviewbyid(r.id.etlocalip); etport = (edittext)this.findviewbyid(r.id.etport); etpassword = (edittext)this.findviewbyid(r.id.etpassword); // assigns value sharedpreferences sp = preferencemanager.getdefaultsharedpreferences(this); etaccountname.settext(sp.getstring("accountname1", "")); etwanip.settext(sp.getstring("wanip1", "")); etlocalip.settext(sp.getstring("localip1", "")); etport.settext(sp.getstring("port1", "")); etpassword.settext(sp.getstring("password1", "")); etwanip.setonfocuschangelistener(new onfocuschangelistener(){ @override public void onfocuschange(view arg0, boolean hasfocus) { if(!hasfocus){ system.out.println("lost focus"); accountsettingactivity1.this.savesettings(); } } }); } private void savesettings(){ string accountname1 = etaccountname.gettext().tostring(); string wanip1 = etwanip.gettext().tostring(); string localip1 = etlocalip.gettext().tostring(); string port1 = etport.gettext().tostring(); string password1 = etpassword.gettext().tostring(); accountname1 = (accountname1.trim().length() == 0)? "user": accountname1; wanip1 = (wanip1.trim().length() == 0)? "0.0.0.0": wanip1; localip1 = (localip1.trim().length() == 0)? "0.0.0.0": localip1; port1 = (port1.trim().length() == 0)? "8000": port1; password1 = (password1.trim().length() == 0)? "xxxx": password1; etaccountname.settext(accountname1); etwanip.settext(wanip1); etlocalip.settext(localip1); etport.settext(port1); etpassword.settext(password1); sharedpreferences.editor editor = preferencemanager .getdefaultsharedpreferences(this).edit(); editor.putstring("accountname1", etaccountname.gettext().tostring()); editor.putstring("wanip1", etwanip.gettext().tostring()); editor.putstring("localip1", etlocalip.gettext().tostring()); editor.putstring("port1", etport.gettext().tostring()); editor.putstring("password1", etpassword.gettext().tostring()); editor.commit(); } /* @override public void onbackpressed() { savesettings(); intent = new intent(accountsettingactivity1.this, accountsetup.class); startactivity(i); finish(); super.onbackpressed(); }*/ public void onbackpressed() { savesettings(); //final edittext eclass1; edittext et = (edittext)findviewbyid(r.id.etaccountname); string s= et.gettext().tostring(); intent = new intent(accountsettingactivity1.this, accountsetup.class); i.putextra("accountname1" ,s); setresult(result_ok, i); finish(); super.onbackpressed(); } @override protected void onpause() { // when user leaves tab, saves values this.savesettings(); super.onpause(); } }
1st activity xml code:
<?xml version="1.0" encoding="utf-8"?> <linearlayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:accountsetup="http://schemas.android.com/apk/res/com.example.play" android:id="@+id/linearlayout1" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > <!-- account toolbar --> <relativelayout android:layout_width="fill_parent" android:layout_height="wrap_content" android:background="#324f85" > <button android:layout_width="54dp" android:layout_height="30dp" android:layout_alignparentleft="true" android:background="@drawable/ic_btn_done" android:layout_centervertical="true"/> <textview android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="@string/selectaccount" android:textappearance="?android:attr/textappearancemedium" android:textsize="15dp" android:layout_centerhorizontal="true" android:layout_centervertical="true" android:gravity="center" android:textstyle="bold" /> <button android:id="@+id/btnadd" android:layout_width="54dp" android:layout_height="30dp" android:layout_alignparentright="true" android:background="@drawable/ic_btn_add_account" android:layout_centervertical="true" /> <imageview android:layout_width="4dp" android:layout_height="30dp" android:layout_aligntop="@+id/btndone" android:layout_torightof="@+id/btndone" android:src="@drawable/toolbar_seperator" /> <imageview android:layout_width="4dp" android:layout_height="30dp" android:layout_aligntop="@+id/btnadd" android:layout_toleftof="@+id/btnadd" android:src="@drawable/toolbar_seperator" /> </relativelayout> <relativelayout android:layout_width="fill_parent" android:layout_height="wrap_content" android:paddingleft="15dp" android:paddingright="15dp" android:background="@drawable/logo_small_white" > <scrollview android:layout_width="fill_parent" android:layout_height="fill_parent" > <tablelayout android:id="@+id/tlstatus" android:layout_width="fill_parent" android:layout_height="wrap_content" android:stretchcolumns="1" > <tablerow style="@style/tablerow" android:id="@+id/row1" android:layout_width="wrap_content" android:layout_height="50dp" android:layout_weight="1" android:gravity="center_vertical" > <textview android:id="@+id/user1" style="@style/textsettinglabel" android:layout_weight="1" /> <button android:id="@+id/iconnext1" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_gravity="right" android:layout_weight="1" android:background="@drawable/icon_next" /> </tablerow> <view style="@style/tablerowborder" /> <tablerow style="@style/tablerow" android:layout_width="wrap_content" android:layout_height="50dp" android:layout_weight="1" android:gravity="center_vertical" > <textview android:id="@+id/user2" style="@style/textsettinglabel" android:layout_weight="1" /> <button android:id="@+id/iconnext2" android:layout_width="wrap_content" android:layout_gravity="right" android:layout_weight="1" android:scaletype="fitend" android:background="@drawable/icon_next" /> </tablerow> <view style="@style/tablerowborder" /> <tablerow style="@style/tablerow" android:layout_width="wrap_content" android:layout_height="50dp" android:layout_weight="1" android:gravity="center_vertical" > <textview android:id="@+id/user3" style="@style/textsettinglabel" android:layout_weight="1" /> <button android:id="@+id/iconnext3" android:layout_width="wrap_content" android:layout_gravity="right" android:layout_weight="1" android:scaletype="fitend" android:background="@drawable/icon_next" /> </tablerow> <view style="@style/tablerowborder" /> <tablerow style="@style/tablerow" android:layout_width="wrap_content" android:layout_height="50dp" android:layout_weight="1" android:gravity="center_vertical" > <textview android:id="@+id/user4" style="@style/textsettinglabel" android:layout_weight="1" /> <button android:id="@+id/iconnext4" android:layout_width="wrap_content" android:layout_gravity="right" android:layout_weight="1" android:scaletype="fitend" android:background="@drawable/icon_next" /> </tablerow> <view style="@style/tablerowborder" /> <tablerow style="@style/tablerow" android:layout_width="wrap_content" android:layout_height="50dp" android:layout_weight="1" android:gravity="center_vertical" > <textview style="@style/textsettinglabel" android:id="@+id/user5" android:layout_alignbaseline="@+id/etzone_1_1" android:text="user 1" /> <button android:id="@+id/iconnext5" android:layout_width="wrap_content" android:layout_gravity="right" android:layout_weight="1" android:scaletype="fitend" android:background="@drawable/icon_next" /> </tablerow> <view style="@style/tablerowborder" /> <tablerow style="@style/tablerow" android:layout_width="wrap_content" android:layout_height="50dp" android:layout_weight="1" android:gravity="center_vertical" > <textview style="@style/textsettinglabel" android:id="@+id/user6" android:layout_alignbaseline="@+id/etzone_1_1" android:text="user 1" /> <button android:id="@+id/iconnext6" android:layout_width="wrap_content" android:layout_gravity="right" android:layout_weight="1" android:scaletype="fitend" android:background="@drawable/icon_next" /> </tablerow> <view style="@style/tablerowborder" /> <tablerow style="@style/tablerow" android:layout_width="wrap_content" android:layout_height="50dp" android:layout_weight="1" android:gravity="center_vertical" > <textview style="@style/textsettinglabel" android:id="@+id/user7" android:layout_alignbaseline="@+id/etzone_1_1" android:text="user 1" /> <button android:id="@+id/iconnext7" android:layout_width="wrap_content" android:layout_gravity="right" android:layout_weight="1" android:scaletype="fitend" android:background="@drawable/icon_next" /> </tablerow> <view style="@style/tablerowborder" /> <tablerow style="@style/tablerow" android:layout_width="wrap_content" android:layout_height="50dp" android:layout_weight="1" android:gravity="center_vertical" > <textview style="@style/textsettinglabel" android:id="@+id/user8" android:layout_alignbaseline="@+id/etzone_1_1" android:text="user 1" /> <button android:id="@+id/iconnext8" android:layout_width="wrap_content" android:layout_gravity="right" android:layout_weight="1" android:scaletype="fitend" android:background="@drawable/icon_next" /> </tablerow> <view style="@style/tablerowborder" /> <tablerow style="@style/tablerow" android:layout_width="wrap_content" android:layout_height="50dp" android:layout_weight="1" android:gravity="center_vertical" > <textview style="@style/textsettinglabel" android:id="@+id/user9" android:layout_alignbaseline="@+id/etzone_1_1" android:text="user 1" /> <button android:id="@+id/iconnext9" android:layout_width="wrap_content" android:layout_gravity="right" android:layout_weight="1" android:scaletype="fitend" android:background="@drawable/icon_next" /> </tablerow> <view style="@style/tablerowborder" /> <tablerow style="@style/tablerow" android:layout_width="wrap_content" android:layout_height="50dp" android:layout_weight="1" android:gravity="center_vertical" > <textview style="@style/textsettinglabel" android:id="@+id/user10" android:layout_alignbaseline="@+id/etzone_1_1" android:text="user 1" /> <button android:id="@+id/iconnext10" android:layout_width="wrap_content" android:layout_gravity="right" android:layout_weight="1" android:scaletype="fitend" android:background="@drawable/icon_next" /> </tablerow> <view style="@style/tablerowborder" /> </tablelayout> </scrollview> </relativelayout> </linearlayout>
2nd activity's xml code:
<?xml version="1.0" encoding="utf-8"?> <linearlayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:toolbar="http://schemas.android.com/apk/res/com.example.play" xmlns:textviewmyriadpro="http://schemas.android.com/apk/res/com.example.play" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical"> <viewswitcher android:id="@+id/switcher" android:layout_width="fill_parent" android:layout_height="fill_parent" > <scrollview android:id="@+id/settingsview" android:layout_width="fill_parent" android:layout_height="fill_parent" android:background="@drawable/logo_small_white" > <relativelayout android:layout_width="fill_parent" android:layout_height="565dp" android:padding="15dp" > <textview android:id="@+id/tvaccount" android:text="name" android:layout_alignbaseline="@+id/etaccountname" style="@style/textsettinglabel" /> <edittext android:id="@+id/etaccountname" style="@style/textsettingedit" android:layout_alignleft="@+id/etwanip" android:inputtype="text" /> <textview android:id="@+id/tvaccount" android:layout_below="@+id/etaccountname" android:text="user account name" style="@style/textsettinghint" /> <textview android:id="@+id/tvwan" android:text="wan ip" android:layout_alignbaseline="@+id/etwanip" style="@style/textsettinglabel" /> <edittext android:id="@+id/etwanip" android:layout_below="@+id/tvaccount" android:layout_torightof="@+id/tvwan" style="@style/textsettingedit" android:inputtype="text"/> <textview android:id="@+id/tvwanhint" android:layout_below="@+id/etwanip" android:text="port forwarding required in order establish connection internet" style="@style/textsettinghint" /> <textview android:id="@+id/tvlocal" android:text="local ip" android:layout_alignbaseline="@+id/etlocalip" style="@style/textsettinglabel" /> <edittext android:id="@+id/etlocalip" android:layout_below="@+id/tvwanhint" android:layout_torightof="@+id/tvlocal" style="@style/textsettingedit" android:inputtype="text"/> <textview android:id="@+id/tvlocalhint" android:layout_below="@+id/etlocalip" android:text="the ip address of alarm system in local area network. 192.168.1.234 default address." style="@style/textsettinghint" /> <textview android:id="@+id/tvport" android:text="port" android:layout_alignbaseline="@+id/etport" style="@style/textsettinglabel" /> <edittext android:id="@+id/etport" android:layout_below="@+id/tvlocalhint" android:layout_torightof="@+id/tvport" android:inputtype="number" style="@style/textsettingedit" /> <textview android:id="@+id/tvporthint" android:layout_below="@+id/etport" android:text="the connection port of alarm system. 8000 default port." style="@style/textsettinghint" /> <textview android:id="@+id/tvpassword" android:text="password" android:layout_alignbaseline="@+id/etpassword" style="@style/textsettinglabel" /> <edittext android:id="@+id/etpassword" android:layout_below="@+id/tvporthint" android:layout_torightof="@+id/tvpassword" style="@style/textsettingedit" android:inputtype="textpassword"/> <textview android:layout_below="@+id/etpassword" android:id="@+id/tvpasswordhint" android:text="your 4 digits password access alarm system." style="@style/textsettinghint" /> </relativelayout> </scrollview> </viewswitcher> </linearlayout>
use startactivityforresult() start 2nd activity
startactivityforresult(intent, requestcode)
when second activity finished following, intent can hold values need pass activity1
setresult(result_ok, intent) finish();
now on activity1, override onactivityresult()
onactivityresult() { //update textview here. }
Comments
Post a Comment