一看就懂的 startActivityForResult(Intent intent, int requestCode)

Android Activity间数据回调:startActivityForResult原理与实战 在Android应用开发中,组件间通信是构建交互式应用的基础。Activity作为核心组件,其间的数据传递与回调机制是实现复杂业务流的关键。通过Intent进行数据封装与传递,结合请求码(requestCode)和结果码(resultCode)的契约模式,构成了一个清晰的异步回调模型。这一机制的技术价值在于解耦了界面跳转与结果处理,使得数据流向可控、逻辑清晰。其典型应用场景包括用户信息编辑、图片选择、权限申请后的结果回调等。本文以用户信息编辑为例,深入剖析了startActivityForResult与on 阅读详情

    关于startActivityForResult startActivityForResult(Intent intent, int requestCode)老是遗忘 尤其其中的几个参数。老是傻傻分不清。所以今天就简单的记录下来

    startActivityForResult startActivityForResult(Intent intent, int requestCode)。这个方法我一般用来在ActivityA中启动另个activityB。当返回的时候需要携带来自B的数据。ActivityA更新界面。

    一.首先在ActivityA中启动startActivityForResult startActivityForResult(Intent intent, int requestCode)


参数1.就是一个intent 你可以携带一些数据。当然也可以不懈怠

参数2.requescode,你自定义的一个int类型的数值(一般>0),当从activityB中返回来的时候。会携带回来。所以你可以用这个参数来判断是从哪个activity中返回的。(前提是你在开启新的activity的时候 要传的requestcode不一样)

二。其次还有一个方法。这个方法是在ActivityB中使用的,主要一定要在finish()之前调用该方法 不然不起作用

setResult(int resultCode, Intent data)


同样还是两个参数,

参数1:resultcode,先说作用。这个参数有两个作用。第一个可以用来判断有没有返回成功。还有一个作用同样可以判断是从哪个activity返回来的

 为什么呢。这个参数可以自定义。如果返回成功了,当时你在activityB中定义的什么,那么 在

 onActivityResult(int requestCode, int resultCode, Intent data)

这个方法中就会接收到什么。所以可以用来判断来这哪个activity。 如果失败了(比如你在ActivityB中直接按了返回键。什么都没有操作),这种情况在ActivityA中接收到的requestcode 就是0. 所以这个参数我一般用来判断是否返回成功

     三。最后在ActivityA中onActivityResult()中接收数据,然后拿到数据你想干嘛就干嘛了


就是这个样子。。。

startActivityForResult用法详解 一、如果想在Activity中得到新打开Activity 关闭后返回的数据,需要使用系统提供的startActivityForResult(Intent intent, int requestCode)方法打开新的Activity,新的Activity 关闭后会向前面的Activity传回数据,为了得到传回的数据,必须在前面的Activity中重写onActivityResult(int requestCode, int resultCode, Intent data)方法。 package com.l. 阅读详情

相关推荐

别再搞错了!ERA5-Land小时数据里的辐射值,原来不是你想的那个‘瞬时值’

本文深入解析ERA5-Land小时数据中辐射值的累积特性,揭示其与瞬时值的本质区别。通过详细的数据处理方法和Python代码示例,指导研究者正确转换累积辐射量为实用瞬时值,避免常见误区,提升气候模型验证的准确性。

weixin_28700411的博客 208

startActivityForResult详解

众所周知,startActivity是进行Activity之间的跳转,然后我在书上看到还有一个方法startActivityForResult.看了书上的解释,感觉不是很理解,于是自己试了这个方法. Activity1.java mBtn1.setOnClickListener(new View.OnClickListener() { @Override ...

没事学点AI小知识 8020

DSP(数字信号处理器)技术概要

数字信号处理器(digital signal processor,DSP)是一种用于数字信号处理的可编程微处理器,它的诞生与快速发展,使各种数字信号处理算送得以实时实现,为数字信号处理的研究和应用打开了新局面,提供了低成本的实际工作环境和应用平台,推动了新的理论和应用领域的发展。目前,DSP技术在通信、航空、航天。雷达、工业控制、医疗、网络及家用电器等各个领域都得到了广泛应用。 1.1 DSP系统和芯片的结构特点1.1.1 DSP系统的基本结构通过传感数将非电物理量转换为模拟电信号,预处理一般包括放大器和滤

m0_46582485的博客 2万+

Activity中startForResult的原理分析

本文会介绍以下内容: 1.startActivityForResult简单实用; 2.startActivityForResult的实现原理; 3.startActivityForResult的一些扩展性问题。

分享+记录 2787

12V INPUT电源电路设计中的关键保护机制解析【精简】

本文深入解析了12V INPUT电源电路设计中不可或缺的关键保护机制。针对常见的电源反接、过压及浪涌等风险,文章详细拆解了PMOS防反接、TVS过压钳位、OVP芯片关断以及快速断电电路等核心防护方案的设计原理、选型要点与实战优化技巧,旨在帮助工程师构建可靠、经济的电源前端防御体系。

weixin_29158047的博客 228

用 SAP XCO XLSX 模块优雅读 Excel:坐标、选择模式与实战案例全解析

SAP ABAP Cloud 中的 XCO XLSX 模块为 Excel 文件处理提供了官方解决方案。文章介绍了三个核心概念:通过 XCO_CP_XLSX=>DOCUMENT 获取文档句柄;使用 CL_XCO_XLSX_COORDINATE 坐标系统定位单元格;利用 Selection Pattern 精确读取数据区域。这些功能在 RAP 批量导入等业务场景中尤为实用,相比传统方案更加简洁可靠。文章还分享了真实项目中的最佳实践,如动态列定位和相对偏移技巧,帮助开发者构建更健壮的 Excel 导入逻辑。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 193

以回调形式使用startActivityForResult方法,并解决Activity被回收的问题

前言 之前写过一篇文章写一个逻辑清晰的startActivityForResult(),拒绝来回扒拉代码,写了使用回调形式使用startActivityForResult方法,配合Kotlin的语法,可以很简单的处理startActivityForResult的返回数据和返回时机. ps:由于之前名字使用startActivityForResult会导致有时导错包,所以现在名字改成了jumpForResult 问题 (假设A页面启动B页面,下面简称A和B) 但是也引出了一个问题,由于这个lam

lt的博客 4275

【目标跟踪】多目标跟踪的评价工具motmetrics怎么使用?

多目标跟踪,通过motmetrics测试评价对应的视频。

聿默的博客 5368

一看就会,对startActivityForResult的几种实现方案的调用与封装

startActivityForResult 可以说是我们常用的一种操作了,用于启动新页面并拿到这个页面返回的数据,是两个 Activity 交互的基本操作。

m0_64420071的博客 2623

Rockchip eMMC寿命监控:SMART信息读取与预防性维护

擦写计数坏块数量温度使用时间。

小灰灰的博客 764

UDF学习(四)FLUENT UDF-DEFINE_PROFILE宏

利用DEFINE_PROFLILE可以指定以下边界或计算域信息:DEFINE_PROFILE(name,t,i)//既可以用。

weixin_44386973的博客 1806

startActivityForResult(Intent intent, int requestCode)

关于startActivityForResult startActivityForResult(Intent intent, int requestCode)老是遗忘 尤其其中的几个参数。 startActivityForResult startActivityForResult(Intent intent, int requestCode)。这个方法我一般用来在ActivityA中启动另个a...

laopozhoululu的博客 403

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

android startActivityForResult(Intent intent, int requestCode)用法

If you want to receive a result from the activity when it finishes,call startActivityForResult(). Your activity receives the resultas a separate Intent object in your activity's onActivityResult()

iMiller的专栏 482

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

Android基础——Intent

IntentIntent是什么?显式Intent隐式Intent Intent是什么? Intent用于Android程序中各组件(Activity、BroadcastReceive、Service)的交互,并且可以在组件之间传递数据,分为显式Intent和隐式Intent。 显式Intent 通过Intent(Context packageContext, Class<?> cls)构造函数创建Intent实例,第一个参数为当前Context,第二个参数为要启动的目标类。如当需要启动Other

松仔Log的博客 3340

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

requestCode 与 resultCode 的区分

1.startActivityForResult(Intent intent, int requestCode)官方解释: *param intent The intent to start. *param requestCode If >= 0, this code will be returned in onActivityResult() when the activity exits. re

keke8021 1118

android startActivityForResult(Intent intent, int requestCode) 整理与总结!

先是A传入B,并且把接收B传回结果的接收器写在A中 package com.my; /* import相关class */ import android.app.Activity; import android.content.Intent; import androi

145

startActivityForResult(Intent intent, int requestCode)使用记录

1、关联博客文章参考:https://blog.youkuaiyun.com/hellobenji/article/details/79978701 2、使用注意事项: ①startActivityForResult(x,x); 不可使用setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); ②setResult(x,x); RESULT_CODE的值需要大于1 ...

513

startActivityForResult

与startActivityForResult相关的函数有两个,分别是onActivityResult和setResult。 (1)如果想在Activity中得到新打开Activity关闭后返回的数据,需要使用系统提供的startActivityForResult(Intentintent, int requestCode)方法打开新的Activity,新的Activity关闭后会向前面的Act

now_android 823

startActivityForResult使用小结

Activity中得到新打开Activity 关闭后返回的数据,需要使用系统提供的startActivityForResult(Intent intent, int requestCode)方法打开新的Activity,新的Activity 关闭后会向前面的Activity传回数据,为了得到传回的数据,必须在前面的Activity中重写onActivityResult(int requestCod...

weixin_37967139的博客 733

Android之startActivityForResult(笔记)

之前在做Face++人脸识别年龄的时候,里面用到了startActivityForResult,这是我第一次看到这东西,后来也同样的在iMooc上看到了这个的基础讲解,才知道这个东西是有返回结果的跳转。原来我们的startActivity( )是属于无返回结果的跳转。我目前也只会这种基本的用法FirstActivity:​​Intent intent = new Intent(MainActivit

u012222371的博客 431

安卓开发——onActivityResult中requestcode与resultcode区别

运用startActivityForResult(Intent intent,int RequestCode)用于启动另一个activity并等待其返回的结果,毋庸置疑,intent用于启动目标activity,而RequestCode的作用是什么呢? 由于每个activity都可以启动任意的子activity并等待结果,而结果处理函数只有一个onActivityResult(int req

萌鼠喝酸奶的博客 4708

Fragment onActivityResult requestCode错乱问题

如果在Fragment中使用activity.startActivityForResult,把onActivityResult写在Activity里就有可能出现requestCode错乱的问题。解决方法是在Fragment中使用startActivityForResult,把onActivityResult也写在Fragment中。

go12355的专栏 281

requestCode 和 resultCode

OK,代码如上,可能这个时候还会有点疑问,关于参数的疑问。直接看android sdk 帮助说得更清楚。我发现网上有些文章还有吧 requestCode 和 resultCode 混淆说明错的。 startActivityForResult(Intent intent, Int requestCode) intent 传给B的,不解释,看不懂你还是玩玩手机算了,别想开发的事情了 reques

善感的人 1万+
上一篇: 一个例子弄懂Java中的接口回调
下一篇: 解决Android中Fragment调用startactivityforresult不能返
敲代码的鸡
博客等级 码龄11年 4粉丝 7原创
评论 3
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值