How to get result of child activities in a parent

2019-09-19 10:14发布

问题:

I have Activity2 which is a TabActivity having child activities Activity3 and Activity4.Acticity2 is called from Activity1.I want results from child activity(Activity3 or Activity4) in Activity2.Any help on this...?

回答1:

  • Use startActivityForResult instead of startActivity to start Activity3 and Activity4.
  • Use setResult in your child activity to return data to the predecessor activity
  • Use onActivityResult in your parent activity to receive the result from the child activity

Edit: Added bundle information. Keeping original answer as it will likely be useful for others.

Since you aren't actually starting the activity with startActivity, you will need to store your data from the child activities, try this:

In TabActivity:

// putExtra is overloaded so you can add almost any kind of data.
// First parameter is the key, second is the value
getIntent().putExtra ( "Result", "OK" );

In parent activity:

// tabAct is the TabActivity object for your tab
// Here, just specify the key that you used in putExtra in your TabActivity
String actResult = tabAct.getStringExtra ( "Result" );
if ( actResult.equals ( "OK" ) {
    // Do your actions for success
}
else {
    // Do your actions for failure
}