startActivityForResult()用法

跳转页面时,原有的界面有时需要从新界面取得数据,
这就需要用startActivityForResult来跳转,
如,从activityA跳转到activityB:
activityA的主要跳转过程代码代码:跳转到activityB,要求返回数据
Intent intent = new Intent(this, ActivityB.class);
startActivityForResult(intent, NUM);
GET_CODE是int型,任意数值
activityB的主要跳转代码,activityB结束返回时的代码
setResult(RESULT_OK, (new Intent()).setAction("Corky!"));
finish();
而在ActivityA中需要重写发放onActivityResult来获取数据
当activityB在finish之后,activityA会接收到消息,系统会调用activityA中的onActivityResult方法:
protected void onActivityResult(int requestCode, int resultCode,Intent data) {
        if (requestCode == NUM) {
            //do something
            if (resultCode == RESULT_CANCELED) {
             //do something
            } else {
             //do something
          }
     }
}
ActivityA的NUM与ActivityB的NUM相同,主要用来区分跳转页面
就是说activityA可能会跳转到很多不同的界面来获得信息,那么怎么区分呢,
就用这个NUM。
参数中的resultCode的值是由activityB中
的setResult的第一个参数决定的,data则为可选参数,可以传递更多的信息。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值