I can't for the life of me figure out how to have an activity be refreshed after pressing the back button. I currently have activity A that fires an intent to goto B and while on act B if you press back I want to go back to act A but have it refresh itself. I can use this intent to refresh the activity currently:
Intent refresh = new Intent(this, Favorites.class);
startActivity(refresh);
this.finish();
But I can't figure out how to properly use the onResume() function to refresh my act A after going back to it.
use
startActivityForResult(intent, requestCode);
to startActivity B
fromActivity A
then in
Activity A
overrideonActivityResult(int requestCode, int resultCode, Intent data)
there you can refresh your
Activity A
If you need a special behaviour of
ActivityA
when coming back fromActivityB
, you should usestartActivityForResult(Intent intent, int requestCode)
instead ofstartActivity(Intent intent)
:This way, you will be able to detect
ActivityB
's termination inActivityA
by overloadingonActivityResult(int requestCode, int resultCode, Intent intent)
:This works even if you terminate
ActivityB
by the press of the back button. TheresultCode
will beRESULT_CANCELLED
by default in that case.You need to place the code that updates the UI of your Activity in the
onResume()
method. Maybe you should post some more code or explain what exactly are you trying to update.