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 ofstartActivity
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
}