博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
关于startActivityForResult
阅读量:6841 次
发布时间:2019-06-26

本文共 1437 字,大约阅读时间需要 4 分钟。

1. startActivityForResult的使用场景是什么?onActivityResult回调里面的resultCode和requestCode含义是什么?

  • 当A activity打开B activity时,需要从B activity返回数据给A activity时,必须调用startActivityForResult。

  • requestCode:请求码。请求码的值是根据业务需求由自己决定,用来标识请求的来源。确定返回的数据是来自哪个activity。

  • resultCode:结果码。决定返回结果的类型,一般为系统默认的RESULT_OK或者RESULT_CANCELED

2. Activity A启动B的时候,在B中何时该执行setResult ?setResult可以位于Activity的finish方法之后吗?

public final void setResult(int resultCode, Intent data) {          synchronized (this) {              mResultCode = resultCode;              mResultData = data;          }  }   ......................public void finish() {          if (mParent == null) {              int resultCode;              Intent resultData;              synchronized (this) {                  resultCode = mResultCode;                  resultData = mResultData;              }              if (Config.LOGV) Log.v(TAG, "Finishing self: token=" + mToken);              try {                  if (ActivityManagerNative.getDefault()                      .finishActivity(mToken, resultCode, resultData)) {                      mFinished = true;                  }              } catch (RemoteException e) {                  // Empty              }          } else {              mParent.finishFromChild(this);          }     } 复制代码
  • 从Activity中看出finish()里的resultCode和resultData的值是在setResult调用后才获取的,不然值会为空。
  • 所以setResult一般是在onBackPressed中调用,而且必须是在super.onBackPressed()之前。或者根据业务情景,显示调用setResult,然后finish()。

转载地址:http://cekul.baihongyu.com/

你可能感兴趣的文章
网上外卖及订餐系统的数据库设计
查看>>
Navicat Premium 数据传输如何设置
查看>>
java G1
查看>>
基于pcDuino的WiFi实时视频监控智能小车——硬件部分(二)
查看>>
01-UI基础-04-02-UITableView : UIScrollView
查看>>
linux md5sum 的用法
查看>>
Java高级-HashMap工作机制
查看>>
Windows 64位系统安装Apache2.4+PHP5.5+MySQL5.6
查看>>
MySQL事务隔离级别介绍及设置
查看>>
jquery grep()筛选遍历数组
查看>>
RN开发总结 关于RN组件的导出export和export default
查看>>
Nginx+keepalived双机热备+负载均衡 ???待续
查看>>
搜素框架
查看>>
使用Xtrabackup对MySQL做主从复制
查看>>
HTML 元素和有效的 DTD文档类型
查看>>
shell 调试技术,伪信号打印程序出错位置
查看>>
(转)批处理
查看>>
struts标签绑定Map<String, List<Map<String, Object>>>
查看>>
navigator.userAgent.indexOf来判断浏览器类型
查看>>
【重磅消息】-支付宝小程序可以申请公测啦!!!
查看>>