数据的反向传递

#### 步骤

1. 启动界面,等待结果

        Intent intent = new Intent(this,SmsListActivity.class);
        //startActivity(intent);//启动一个新的界面,但是不需要返回结果
        
        //1. 启动下一个界面,然后等待结果的返回
        startActivityForResult(intent,0);
2. 在下一个界面设置返回的结果

        Intent intent = new Intent();
                intent.putExtra("sms", objects[position]);
                //2.返回结果
                setResult(1, intent);
3. 关闭下一个界面

        //3.关闭当前界面
                finish();
4. 在当前界面重写onActivityResult获取结果

        @Override
            protected void onActivityResult(int requestCode, int resultCode, Intent data) {
                super.onActivityResult(requestCode, resultCode, data);
                
                //4.获取到下一个界面返回的数据
                String sms = data.getStringExtra("sms");
                et_content.setText(sms);
            }

 

###requestCode和 resultCode的用意

* requesetCode

> 当一个界面有多个请求发出去,并且都等待结果的返回。这个时候,就必须要区分一下到底当前是什么请求已经拿到数据返回了,所以就应该使用requestCode判定。

* resultCode

> 当下一个界面返回的数据有不同种类型,这个时候就可以使用resultCode去判定到底是什么类型的数据(一般都很少用。) 

转载于:https://www.cnblogs.com/MarsDabiaoge/p/5121998.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值