背景内容: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已经展示了返回的数据。

到这里知识点已经讲完了,大家有懂了麻!!!

posted on 2017-10-15 10:54  ╰透在骨子里的小傲娇  阅读(87)  评论(0)    收藏  举报