Android- Going back to Previous Activity with different Intent value -
i have application has transition:
-> b -> c -> d-> c upon entering c , have check flag. have pass intent (let intentx = false) d. after doing in d , go c after pressing button. did pass again intentx value true, startactivity c again. happen created activity c.
what want happen not have start new activity c, use previous c calling super.onbackpressed(). cannot pass new value of intentx. there other way, achieve want. might have missed some.
what want startactivityforresult(). when go c d, instead of using startactivity() use instead startactivityforresult(). when want return d c use setresult() can include intent object extras pass c.
i don't recommend doing in onbackpressed() if don't have because not user expects. instead, should return data event such button click.
so, in c like
intent = new intent(new intent(c.this, d.class); startactivityforresult(i, 0); then in d when ready return
intent = new intent(); i.putextra(); // insert extras here setresult(0, i); then when return c enter method (taken docs)
protected void onactivityresult(int requestcode, int resultcode, intent data) { if (requestcode == pick_contact_request) { if (resultcode == result_ok) { // contact picked. here display // user. startactivity(new intent(intent.action_view, data)); /* can sent through data using data.getstringextra("somekey"); assuming string */ }
Comments
Post a Comment