Activity之间的数据传递
一、向下传递,AActivity->BActivity
override fun onCreate(savedInstanceState: Bundle?) {super.onCreate(savedInstanceState)val button1: Button = findViewById(R.id.button1)button1.setOnClickListener {val data = "Hello SecondActivity"val intent = Intent(this, SecondActivity::class.java)intent.putExtra("extra_data", data)startActivity(intent)}
}
AActivity在onCreate方法设置按钮监听,传递数据:"Hello SecondActivity",
putExtra的key:"extra_data"。
BActivity在onCreate方法设置监听,获取数据,打印到日志,
override fun onCreate(savedInstanceState: Bundle?) {super.onCreate(savedInstanceState)setContentView(R.layout.activity_second)val extraData=intent.getStringExtra("extra_data")Log.d("SecondActivity","extraData = $extraData")
}
运行程序,点击AActivity的按钮,日志输出:
二、向上传递,BActivity->AActivity
在AActivity的onCreate方法调用registerForActivityResult,
override fun onCreate(savedInstanceState: Bundle?) {super.onCreate(savedInstanceState)registerForActivityResult(ActivityResultContracts.StartActivityForResult()) {val resultCode = it.resultCodeval data = it.dataLog.d(tag, "it = $it")if (resultCode == RESULT_OK) {Log.d(tag, "data = ${data?.getStringExtra("data_return")}")}}.launch(Intent(this, SecondActivity::class.java))
}
在BActivity重写onBackPressed方法,注意,不要写super.onBackPressed()
override fun onBackPressed() {val intent=Intent()intent.putExtra("data_return","Hello FirstActivity")setResult(RESULT_OK,intent)finish()
}
运行程序,会自动跳到BActivity,此时按下返回键,调用onBackPressed函数,AActivity的registerForActivityResult方法内的代码运行,查看打印日志:
Activity之间的数据传递相关推荐
- Android中Activity之间的数据传递(Intent和Bundle)
当一个Activity启动另一个Activity时,常常会有一些数据传过去,对于Activity之间的数据交换更简单,因为两个Activity之间进行数据传递交换更简单,因为两个Activity之间本 ...
- Android--Activity的跳转及Activity之间的数据传递
Activity的跳转及Activity之间的数据传递(作业) 首先呢,看到这个作业第一感觉并不难,因为只是涉及到多activity之间的跳转以及简单的数据传递而已.然后,做的时候也没花费多长的时间, ...
- 【好文推荐】Activity之间的数据传递方法汇总
在Activity间传递的数据一般比较简单,但是有时候实际开发中也会传一些比较复杂的数据,本节一起来学习更多Activity间数据的传递方法. 1.通过 Intent 传递 我们在进行 Activit ...
- Activity的创建步骤+Activity之间的数据传递+案例(人品测试器)
Android的四大组件: 1.activity(多层界面运用) 2.广播接收者 3.服务 4.内容提供者 此外,我这里还会说道 5.多媒体编程(图形.声音.视频) 6.Fragment+动画 7.S ...
- android activity之间传递对象,Android Activity之间的数据传递
一.通过startActivity来进行Activity的传值 在Android中,如果我们要通过一个Activity来启动另一个Activity,可以使用 startActivity(Intent ...
- Activity之间的数据传递—实现Parcelable接口
一.单向传递数据和接收 1.可以传递数据类型 传递基本数据类型.字符串和对应的数组 传递Bundle(类似HashMap) 传递对象数据 传递Integer集合.String集合和parcelable ...
- Activity之间的数据传递方法汇总系列教学
近日一好友去阿里面试,面试失败了,分享了一个他最不擅长的算法面试题.题目是这样的. 题目:给定一个二叉搜索树(BST),找到树中第 K 小的节点. 出题人:阿里巴巴出题专家:文景/阿里云 CDN 资深 ...
- android 打印流程图,Android实现Activities之间进行数据传递的方法
本文实例讲述了Android实现Activities之间进行数据传递的方法.分享给大家供大家参考.具体分析如下: 首先,先说明一下Activity的启动及关闭: 1. startActivity(In ...
- 三个activity之间跳转 数据传递_第二百四十二回:Android中Fragment之间的数据传递概述...
各位看官们大家好,上一回中咱们说的是Android中Activity之间数据传递的例子,这一回咱们说的例子是Fragment之间的数据传递.闲话休提,言归正转.让我们一起Talk Android吧! ...
最新文章
- Ubuntu环境变量
- gis中的擦除_GIS案例分析 | 公园建设选址
- 主键、唯一键与唯一索引的区别
- [译] D3.js 嵌套选择集 (Nested Selection)
- Android多线程分析之三:Handler,Looper的实现
- 从飞机上看下雨是这样子,太震撼了!
- Smarty3——foreach
- 巧用G6FTPServer账号***台湾某图书服务器
- 雷神笔记本关闭跳出垃圾游戏广告
- python 实现改变excel文件列宽
- flv播放器V2.6.5官方版【免费的FLV视频播放器】
- java毕业设计奖助学金评审mybatis+源码+调试部署+系统+数据库+lw
- C语言|博客作业10
- 第7章第22节:双图排版:两张图片并列靠边对齐 [PowerPoint精美幻灯片实战教程]
- Leetcode 14.最长公共前缀(Longest Common Prefix)
- 腾讯云函数报错 Invoking task timed out after 3 seconds
- deeplabv3+训练自己的数据集
- mac上安装windows系统
- 牛客:【2021秋季算法入门班第七章习题:动态规划1】部分题解:方块与收纳盒、舔狗舔到最后一无所有、可爱の星空、[NOIP1999]拦截导弹
- Spring rebooted --重新认识Spring