一看就懂的 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. 阅读详情

相关推荐

爬虫风控实战:当你的代理IP被数美滑块盯上时,如何优雅破解?

本文深入探讨了爬虫风控对抗中数美滑块验证码的破解与防御策略。通过分析数美滑块的多层防御机制,提出了代理IP池精细化管理、请求特征拟人化改造以及工程化滑块验证解决方案等系统性方法,帮助开发者有效降低验证码触发率,提升爬虫效率。

weixin_27419879的博客 207

startActivityForResult详解

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

没事学点AI小知识 8020

普通人如何上岸华为OD-面试总结

总共有3道算法题,100分值的两道,200分值的一道,不同的毕业院校和专业,通过机试的分值不一样,最少需要150分通过,提前和hr联系,了解自己需要多少分通过。重中之重:哪怕你是背的题库,也请你一定不要直接抄原来的,最好是变更下方法名,否则会判定你重复率过高,从而失去后面的面试机会(实在是不会做再用此方法,凑分数所用,面试官能看到你的代码,会影响你的面试评价)本人女,所以还问道了婚育计划,有对象这点可以说,没有问题,但是如果可以的话,生孩子的时间,可以给hr说这几年不考虑。如果说没有难题,直接就挂了。

weixin_47767264的博客 5455

Activity中startForResult的原理分析

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

分享+记录 2787

电子发票二维码背后的秘密:10分钟看懂校验码、加密字符含义与防伪设计

本文深入解析电子发票二维码的结构与防伪设计,揭示校验码和加密字符的生成原理及验证方法。通过实际案例和技术细节,帮助财务人员理解电子发票的安全机制,提升防伪识别能力,确保税务合规。

weixin_29248611的博客 530

【Collibra 驱动 IPD 数据血缘治理】:三层图谱分层展示体系与全链路追踪的技术业务实践

(应用级/数据级/字段级)是理解复杂数据流动的核心手段。其价值不仅体现在可视化的直观性,更在于通过。技术保障血缘不可篡改性,进一步提升IPD数据治理的可靠性。,解决了跨层级血缘分析的性能与可用性矛盾。数据血缘图谱要素定义(字节跳动/腾讯云/信安标委)实现对IPD数据的精准追踪,而数据血缘图谱的。分层交互设计标准(智慧城市数据中台规范)Collibra技术文档(2024)字段级血缘的挑战与解决路径。自动优化血缘路径,并深化。字段级血缘技术实现方案。Collibra通过。图数据库性能优化原理。

百态·数智思维 | 聚焦大数据、量化与未来AI 1244

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

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

lt的博客 4275

台式机ubuntu系统屏幕无法调节的问题(已解决)(汇总)

背景:新配了一台主机,安装了双系统,windows下屏幕在带鱼屏上显示良好,但Ubuntu系统屏幕拉伸严重。 问题描述:系统没有适应屏幕被整个拉伸了,进入设置界面,显示Built-in Display,分辨率只有1024*768无法设置。 尝试一:网上最多的方法就是使用xrandr, 结果显示:xrandr:Failed to get size of gamma for output default 尝试二: 第一次进入命令行页面:login:填你的用户面 password:使用字母上方的数字键输入你的密码

weixin_45626706的博客 4625

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

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

m0_64420071的博客 2623

Vue2 - 最新详细实现接入天地图详细配置流程及示例代码教程,提供获取用户当前定位的城市名称及省市区数据、精准经纬度信息、IP属地定位、地图搜索标点等示例,解决天地图跨域报错/页面白屏/定位不准问题

vue2,nuxt2,天地图,使用教程,vue接入国家天地图,定位api,ip属地定位,获取用户当前位置数据,省市区,地图不显示,白屏,报错,vue2如何使用天地图,地图选点,cors跨域,白名单设置了还是不行,vue项目调用天地图api实现定位,Vue2中使用天地图,详细教程,天地图申请密钥key教程,经纬度,经纬度不准确,一直定位北京,定位在北京不准怎么办,nuxt项目天地图,网站,网页,h5页面,地图显示不全,获取当前定位,如何使用天地图,拿到客户ip地址定位城市名称,距离计算,实时搜索地址逆解析,天

🏆 前端领域优质创作者 5327

【OpenClaw企业级智能体实战】第10篇:医疗行业OpenClaw实战:病历自动书写、医保智能审核与患者随访管理(附HIPAA合规配置+完整代码)

医疗行业正面临“效率提升需求”与“合规监管红线”的双重矛盾:病历书写占据医生30%-50%工作时间,医保审核效率低下,患者随访工作量巨大,但医疗数据“不出域”“责任不转移”的要求又限制了AI落地。本文基于华为云、腾讯云安全规范及中关村科金、复旦大学附属中山医院等真实实践,拆解OpenClaw在医疗场景的五大核心应用(病历自动书写、医保智能审核、患者随访管理、科研文献综述、医学影像预处理),提供私有化部署架构、HIPAA合规配置模板、完整实操流程及可直接运行的代码。

专注于人工智能、软件开发、工控自动化、工厂数字化及智能化等领域,希望和大家共同进步! 441

startActivityForResult(Intent intent, int requestCode)

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

laopozhoululu的博客 403

MFC实现图书管理系统(附完整源码)

MFC实现图书管理系统(附完整源码)

希望我的博客,能帮上你解决学习中工作中所遇到的问题 801

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

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

Android基础——Intent

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

松仔Log的博客 3340

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

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 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

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、付费专栏及课程。

余额充值