首页 > 其他分享 >安卓笔记4——Result API 在两个Activity之间传递数据 kotlin版本

安卓笔记4——Result API 在两个Activity之间传递数据 kotlin版本

时间:2025-01-07 23:12:14浏览次数:1  
标签:Toast val kotlin 安卓 binding intent Activity 传递数据 data

第一个Activity

   // 接收第二个Activity返回的回调
   private val requestDataLauncher = registerForActivityResult(ActivityResultContracts.StartActivityForResult()) { result ->
       if (result.resultCode == RESULT_OK) {
           val data = result.data?.getStringExtra("data")
           Toast.makeText(this, data, Toast.LENGTH_LONG).show()
       }
   }
   
   override fun onCreate(savedInstanceState: Bundle?) {
       super.onCreate(savedInstanceState)
       val binding = FirstLayoutBinding.inflate(layoutInflater)
       val button1 = binding.button1
       setContentView(binding.root)

       button1.setOnClickListener{
           // 显示调用
           val intent = Intent(this, SecondActivity::class.java)

           // 传值
           val data = "这就是街舞"
           intent.putExtra("dd", data)  // 填入数据
           requestDataLauncher.launch(intent)
       }
   }

第二个Activity

 override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        val binding = SecondLayoutBinding.inflate(layoutInflater)
        setContentView(binding.root)

        // intent.getStringExtra取值
        Toast.makeText(this ,intent.getStringExtra("dd"), Toast.LENGTH_SHORT).show()

        // 返回值给上一个Activity
        val intent = Intent()
        intent.putExtra("data", "data from SecondActivity")
        setResult(RESULT_OK, intent)

        binding.button2.setOnClickListener{
            finish()
        }
    }

其它

无法直接传递对象

标签:Toast,val,kotlin,安卓,binding,intent,Activity,传递数据,data
From: https://www.cnblogs.com/209jkjkjk/p/18658619

相关文章

  • 安卓开发录音机
    依赖dependencies{implementation("androidx.appcompat:appcompat:1.6.1")implementation("androidx.recyclerview:recyclerview:1.3.0")implementation("com.karumi:dexter:6.2.3")implementation(libs.appcompa......
  • 安卓开发拍照录制项目二 录制
     第一步拍照在这里AndroidStudio拍照-CSDN博客 依赖dependencies{implementation("androidx.camera:camera-core:1.2.0")implementation("androidx.camera:camera-camera2:1.2.0")implementation("androidx.camera:camera-lifecycle:1.......
  • H5流媒体播放器EasyPlayer.js安卓播放器如何实现视频源快速切换?
    随着流媒体技术的迅速发展,H5流媒体播放器已成为现代网络视频播放的重要工具。其中,EasyPlayer.js视频流媒体播放器作为一款功能强大的H5播放器,凭借其全面的协议支持、多种解码方式以及跨平台兼容性,赢得了广泛的关注和应用。那么EasyPlayer.js安卓播放器应如何实现视频源快速切换......
  • uniapp - 详解使用高德地图在地图上实现绘制边界/点聚合/行政区域高亮等功能,Uniapp高
    效果图在uni-app手机h5网页网站/支付宝微信小程序/安卓app/苹果app/nvue等(全平台兼容)开发中,实现各端都兼容的“安装使用高德地图并实现点聚合/地图绘制边界部分高亮显示”,高德地图点聚合标记及高德地图绘制行政边界等,标点窗体信息展示,在高德地图上标点及卡片气泡框面板......
  • 使用 Kotlin 实现英文数字验证码识别
    ​Kotlin是一种现代化的、跨平台的编程语言,尤其适合用于Android开发和服务端开发。通过结合Kotlin的图像处理和OCR库,可以实现验证码的识别功能。项目准备所需依赖在Kotlin项目中,我们需要以下库:Tess4J-基于TesseractOCR引擎的Java库,用于OCR功能。OpenCV(......
  • Vue传递数据 子组件给父组件
    一、proprs父组件定义方法->传给子组件(子组件props接收)->子组件通过触发事件给父组件传递的方法赋值->父组件的方法获得值父组件定义方法methods:{getSchoodata(value){this.crossData=value}},父组件(定义方法)传递给子组件<SchoolData:getSch......
  • Kotlin语言的学习路线
    Kotlin语言的学习路线Kotlin是一种现代化的、静态类型的编程语言,由JetBrains开发。它可以与Java无缝互操作,并且在Android开发中得到了越来越广泛的应用。由于Kotlin简洁的语法和强大的功能,它逐渐成为了许多开发者的首选语言。在本文中,我们将详细讨论Kotlin语言的学习路线,帮......
  • 安卓笔记3——kotlin不写必忘的标准方法
    标准函数with接受2个参数,一个提供默认调用的对象,另一个是lambda当反复调用同一个对象时,方便省略最后一行作为函数返回值valresult=with(StringBuilder()){append("xxx")append("xxx")append("xxx")}run与with类似,但是只接受一个lambda参数,内部的默认......
  • 安卓笔记2——kotlin不写必忘的基本语法
    说明可能会忍不住说一些C#和Rust相关的事情,但这是个人笔记,允许先入为主,节外生枝。下文的最优写法只是相对于上下文环境关键字、语法(糖)一行代码省略函数体有点像C#的属性get函数写法的=>funlargerNumber(num1:Int,num2:Int):Int=max(num1,num2)推导后可省略返回......
  • uniapp [安卓苹果App端] - 解决uni.scanCode扫码黑屏报错问题,uniApp app平台真机运行
    前言关于此问题网上的教程都无法解决,如果您的报错信息与我相似,即可解决。在uni-appApp端(安卓APP|苹果APP)开发中,解决使用uni.scanCode调起摄像头扫码黑屏问题,uniAPP真机调试扫码一片黑并且可能有报错,有时候连续扫码时首次没问题但第二次就会黑屏没反应(退出去再进来就......