在使用新浪微博APP时,能发现在微博发布界面进入图库选择图片后,会回到微博发布页面并带回了图片选择页面的图片信息。由于这种需求十分常见,因此,Android提供了一个startActivityForResult()方法,来实现回传数据。
要求:页面1跳转到页面2,页面2再返回页面1同时返回数据
页面1添加如下代码:
Intent intent = new Intent(); intent.setClass(页面1.this, 页面2.class); Bundle bundle = new Bundle(); intent.putExtras(bundle);//将Bundle添加到Intent,也可以在Bundle中添加相应数据传递给下个页面,例如:bundle.putString("abc", "bbb"); startActivityForResult(intent, 0);// 跳转并要求返回值,0代表请求值(可以随便写)
页面2接收数据添加代码如下:
Intent intent = this.getIntent(); Bundle bundle = intent.getExtras(); bundle.putString("aaa", "back");//添加要返回给页面1的数据 intent.putExtras(bundle); this.setResult(Activity.RESULT_OK, intent);//返回页面1 this.finish();
页面1接收返回数据:(需要重写onActivityResult)
onActivityResult()方法里面的三个参数 第一个参数requestCode,表示再启动Acitivity是传递的请求码 第二个参数resultCode&#