为了账号安全,请及时绑定邮箱和手机立即绑定

关于Intent 中 startActivityforResult()方法

标签:
Android

个人理解,如有误解,恳指导

一.区别( 实现activity 跳转下一个界面主要有两种方法,startActivity()和startActivityforResult() )

 1.对于普通的activity A 把数据传入 activity B 界面 用startActivity(),并且无返回数据。

 2.startActivityforResult() 可以把 activity A 把数据传入 activity B,并且也可以把activity B中的数据返回activity A 处理。

二.实现

 1.我们先看方法系统提供的方法 public void startActivityForResult(Intent intent, int requestCode)方法。

  (1) intent 第一个参数是要打开的新activity

  (2) requestCode 第二参数为请求码,可以根据业务需求自己编号。

举例:startActivityForResult(new Intent(MainActivity.this, OtherActivity.class), 1);

 2.在为了得到关闭新activity 返回的数据,要在向前面一个activity中重写onActivityResult(int requestCode, int resultCode, Intent data)方法。

  (1) requestCode 请求码,即调用startActivityForResult()传递过去的值

  (2) resultCode 结果码,结果码用于标识返回数据来自哪个新Activity

  (3) data 当新Activity关闭后,新Activity返回的数据通过Intent进行传递,android平台会调用前面Activity 的onActivityResult()方法,把存放了返回数据的Intent作为第三个输入参数传入,在onActivityResult()方法中使用第三个输入参数可以取出新Activity返回的数据。

举例:

    @Override

    protected void onActivityResult(int requestCode, int resultCode, Intent data) {

     if(requestCode == 1 && resultCode == Activity.RESULT_OK){

             String result = data.getExtras().getString("result"); //得到新Activity关闭后的返回数据

            Log.i(TAG, result);

        } 

    }

原文链接:http://www.apkbus.com/blog-455907-60387.html

点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消