startActivityForResult的使用

这里首先说明一下startActivityForResult与startActivity的不同之处:

startActivity:

它是跳转到目标界面,可以通过finish()或者startActivity返回当前界面

代码如:

从A界面跳转到B界面


从B界面返回A界面只需要一个finish();

或者是 

 Intent intent = new Intent(LYL_WoShouChu.this,A.class);
                startActivity(intent);


startActivityForResult:

它与startActivity差不多,但是它返回可以有finish(),也可以在finish()上面进行传参数,setResult内就必须写上int类型的参数

代码如:

Intent intent = getIntent();
                intent.putExtra("size", zan_data.size());
                setResult(1, intent);
                finish();

它与startActivity不同的是,它返回当前界面会触发onActivityResult(),我们可以在这个方法内改变数据与界面的变化

代码:

 @Override
    public void onActivityResult(int requestCode, int resultCode, Intent data) {
        super.onActivityResult(requestCode, resultCode, data);
        if(requestCode==1&&resultCode==1){
            int size=data.getIntExtra("size",0);
            shoucang_num.setText(size+"");
        }
    }
A界面跳转B界面的代码:

Intent intent_shoucang = new Intent(getContext(), SJ_Activity_WD_ShouCang.class);
                startActivityForResult(intent_shoucang,1);


殴,对了,startActivityForResult在A界面跳转到B界面时,一定要带int类型的参数,这个在onActivityResult方法内可以通过你A界面的requestCode与resultCode的参数来筛选出你的代码,省的多个在一起搞混了。


这些也是我写了一些startActivityForResult方法,可是总是忘记了,返回时传参代码要怎么写,+_+。

虽然这些网上查找下有很多,但是我觉得把自己理解的写一遍还是有一定的好处的。

O(∩_∩)O哈哈~,写着我突然想起我同事了,它可是要跟我一起更新技术博客的,啧啧啧



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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值