When getting the return value, pay attention to the way you open the activity, using the method:Startactivityforresult
When receiving, override method:Onactivityresult
In the child activity, write the data using the method:Setresult
Mainactivity Code:
PrivateTextView TV; @Overrideprotected voidonCreate (Bundle savedinstancestate) {Super. OnCreate (savedinstancestate); Setcontentview (R.layout.activity_main); Findviewbyid (R.id.btnstart). Setonclicklistener (NewView.onclicklistener () {@Override Public voidOnClick (view view) {Intent I=NewIntent (mainactivity. This, Othereactivity.class); Startactivityforresult (i,0);//start the receive in this way, the second one is the request code }}); } @Overrideprotected voidOnactivityresult (intRequestcode,intResultCode, Intent data) { Super. Onactivityresult (Requestcode, ResultCode, data); TV=(TextView) Findviewbyid (R.id.textview); Tv.settext ("The other activity returned is:" +data.getstringextra ("Data")); }
Otheractivity Code:
PrivateEditText EditText; @Overrideprotected voidonCreate (Bundle savedinstancestate) {Super. OnCreate (savedinstancestate); Setcontentview (R.layout.activity_othere); EditText=(EditText) Findviewbyid (R.id.edittext); Findviewbyid (R.id.btnback). Setonclicklistener (NewView.onclicklistener () {@Override Public voidOnClick (view view) {Intent Intent=NewIntent (); Intent.putextra ("Data", Edittext.gettext (). toString ()); Setresult (1,intent);//Write return valueFinish ();//End Current Activity } }); }
Passing data between activity-get data returned by activity