背景内容:FirstActivity先跳转到TwoActivity,再由TwoActivity返回,并还返回数据。
一般情况下Activity间跳转只需要调用
startActivity(Intent i)
这个方法不需要第二个界面返回数据,所以这个方法不能用了,那就换一个,用下面的方法
startActivityForResult(Intent i, int requestCode)
1. FirstActivity设置界面跳转到TwoActivity,添加代码如下
Intent i=new Intent(FirstActivity.this,TwoActivity.class);
startActivityForResult(i,1);
2. TwoActivity设置返回的数据,代码如下
Intent intent=new Intent();
intent.putExtra("data","这是第二个Activity传过来的数据");
setResult(1,intent);
finish();//结束当前的Activity
拓展:有如下重载方法

resultCode状态码,表示发回的数据的状态,一般情况,1表示成功,0表示失败,当然也可自定义其它的。
Intent对象不仅可以用来启动一个Activity跳转,还可以作为数据的载体。
3. 在FirstActivity中添加对结果码的处理方法
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
//相关操作
......
textView.setText(data.getStringExtra("data"));
}
requestCode : 请求码。
resultCode : 结果码。与requestCode比较是否一致,再进行相关操作。
data : 第二个Activit即TwoActivity中设置返回的Intent类型的intent对象。
现在textView已经展示了返回的数据。
到这里知识点已经讲完了,大家有懂了麻!!!
浙公网安备 33010602011771号