从子activity返回数据给父activity------------Starting Activities and Getting Results
2013-04-17 10:10
441 查看
有时候我们希望子activity可以向父activity返回数据,比如我们利用StartActivity来打开一个联
系人的页面,希望用户可以选择一个联系人,并且返回给父Activity。
要实现这样的效果,可以使用startActivityForResult(Intent, int)这里的int值是用来标识动作的
(identifying the call)。结果我们可以在父activity的onActivityResult中获取。
当子Activity退出的时候,可以调用setResult(int)来返回数据给父Activity,必须要提供result
code,例如RESULT_CANCELED, RESULT_OK, 或者任何从RESULT_FIRST_USER开始的自定义结果。我们
也可以选择返回一个有附加数据的intent,
系人的页面,希望用户可以选择一个联系人,并且返回给父Activity。
要实现这样的效果,可以使用startActivityForResult(Intent, int)这里的int值是用来标识动作的
(identifying the call)。结果我们可以在父activity的onActivityResult中获取。
当子Activity退出的时候,可以调用setResult(int)来返回数据给父Activity,必须要提供result
code,例如RESULT_CANCELED, RESULT_OK, 或者任何从RESULT_FIRST_USER开始的自定义结果。我们
也可以选择返回一个有附加数据的intent,
public class MyActivity extends Activity { ... static final int PICK_CONTACT_REQUEST = 0; protected boolean onKeyDown(int keyCode, KeyEvent event) { if (keyCode == KeyEvent.KEYCODE_DPAD_CENTER) { // When the user center presses, let them pick a contact. startActivityForResult( new Intent(Intent.ACTION_PICK, new Uri("content://contacts")), PICK_CONTACT_REQUEST); return true; } return false; } protected void onActivityResult(int requestCode, int resultCode, Intent data) { if (requestCode == PICK_CONTACT_REQUEST) { if (resultCode == RESULT_OK) { // A contact was picked. Here we will just display it // to the user. startActivity(new Intent(Intent.ACTION_VIEW, data)); } } } }
相关文章推荐
- Starting Activities and Getting Results
- 得到新打开Activity 关闭后返回的数据
- Activity传递数据的几种方式及返回结果
- activity返回数据
- Activity之间的数据共享与ActivityGroup子类返回键焦点的请求
- Android中Activity之间数据传递及返回
- Android返回数据给上一个Activity
- A(里面加载webview) activity 跳转至 A activity,按返回键前一个A activity数据没有了
- 从一个Activity跳转到另一个Activity后得到需要的数据后返回加载到原有的Activitiy所在的控件上
- activity的开启和关闭数据返回
- Android学习之路(八)之 Activity数据返回
- android83 Activity的生命周期,启动模式,返回时传递数据
- android打开其他应用的activity并返回数据
- 得到新打开Activity 关闭后返回的数据
- 实习入职第十四天:怎么从view里面跳转到activity中,再把数据返回来
- Activity传递数据的几种方式及返回结果
- (转)Activity返回(finish)时,另一个activity或者fragment如何刷新数据
- 返回Activity时传递数据
- 返回数据到前一个Activity---startActivityForResult方法
- Intent——Activity间传递并返回数据