back - onBackPressed function in android -


i creating app, in 1 class contains imageview , textview, contain edittext, when press button, edittext in 2nd class has store , set in textview of first class. here code.

buckmain.java

package com.jumoun.ibuck;  import android.os.bundle; import android.app.activity; import android.content.intent; import android.view.view; import android.widget.imageview; import android.widget.textview;  public class buckmain extends activity {      imageview ivsu;     textview tvname;      private string ssuname;      @override     protected void oncreate(bundle savedinstancestate) {         super.oncreate(savedinstancestate);         setcontentview(r.layout.main);          ivsu = (imageview) findviewbyid(r.id.ivsu);         tvname = (textview) findviewbyid(r.id.tvname);         ivsu.setclickable(true);          ivsu.setonclicklistener(new view.onclicklistener() {              @override             public void onclick(view v) {                 // todo auto-generated method stub                 intent intent = new intent();                 intent.setclass(getapplicationcontext(), buckdisplay.class);                 startactivityforresult(intent, 1);             }         });     }      @override     protected void onactivityresult(int requestcode, int resultcode, intent data) {         // todo auto-generated method stub         super.onactivityresult(requestcode, resultcode, data);         if (requestcode == 1) {             if (resultcode == result_ok) {                 ssuname = data.getstringextra("name");                 tvname.settext(ssuname);             }         }     } } 

buckdisplay.java

    package com.jumoun.ibuck;  import android.app.activity; import android.content.intent; import android.os.bundle; import android.widget.edittext; import android.widget.imageview; import android.widget.textview;  public class buckdisplay extends activity {      imageview ivsu1;     textview tvdisplay;     textview tvname1;     edittext etname1;     string sname1;      private int resultcode = 1;      @override     protected void oncreate(bundle savedinstancestate) {         super.oncreate(savedinstancestate);         setcontentview(r.layout.buck_display);         ivsu1 = (imageview) findviewbyid(r.id.ivsu1);         tvdisplay = (textview) findviewbyid(r.id.tvdisplay);         tvname1 = (textview) findviewbyid(r.id.tvname1);         etname1 = (edittext) findviewbyid(r.id.etname1);     }      @override     public void onbackpressed() {         // todo auto-generated method stub         super.onbackpressed();         sname1 = etname1.tostring();                 bundle bundle = new bundle();         bundle.putstring("name", sname1);         intent intent = new intent();         setresult(resultcode, intent);         intent.putextras(bundle);         super.onbackpressed();     } } 

when press button, not showing in first class :(

you have call startactivityforresult

ivsu.setonclicklistener(new view.onclicklistener() {          @override         public void onclick(view v) {             // todo auto-generated method stub             intent intent = new intent();             intent.setclass(getapplicationcontext(), buckdisplay.class);             startactivityforresult(intent, 1);         }     });   

and call super after setresult

@override public void onbackpressed() {     // todo auto-generated method stub      intent intent = new intent();     intent.putextra("name", etname1.gettext().tostring());     setresult(result_ok, intent);      super.onbackpressed(); }   

onactivityresult

@override protected void onactivityresult(int requestcode, int resultcode, intent data) {     // todo auto-generated method stub     super.onactivityresult(requestcode, resultcode, data);     if (requestcode == 1) {         if (resultcode == result_ok) {              ssuname = data.getstringextra("name");             tvname.settext(ssuname);         }     } } 

Comments