问题
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
startActivityForResultinstead ofstartActivityto start Activity3 and Activity4. - Use
setResultin your child activity to return data to the predecessor activity - Use
onActivityResultin 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
}
来源:https://stackoverflow.com/questions/4850404/how-to-get-result-of-child-activities-in-a-parent-tab-activity