Activity的优雅跳转

news2024/12/24 4:05:41

需求1:跳转到下一个界面:NextActivity
startActivity(Intent(this,NextActivity::class.java))
需求2:跳转到下一个界面(并传参数):NextActivity
 startActivity(Intent(this,NextActivity::class.java).apply { 
            putExtra("params","测试参数数据")
 })
需求3:跳转到下一个界面(并传参数)&(返回结果):NextActivity
  • 对Activity拓展方法startForResult,支持直接返回结果
 activity.startForResult(1000, Intent(activity, NextActivity::class.java).apply {
            putExtra("message", "我是上个界面传入的数据")
        }) { requestCode, resultCode, data ->
            if (requestCode == 1000 && resultCode == Activity.RESULT_OK) {
                val message = data?.getStringExtra("message")
                Log.d(LOG_TAG, "message=$message")
            }
        }
需求4:跳转到下一个界面(并传参数)&(多个拦截):NextActivity
   ActivityStarter.with(activity)
            // 登录拦截
            .addInterceptor(LoginInterceptor())
            // 认证拦截
            .addInterceptor(AuthInterceptor())
            // 跳转下一页
            .start(Intent(activity, NextActivity::class.java).apply {
                putExtra("message", "我是上个界面传入的数据")
            })
需求4:跳转到下一个界面(并传参数)&(多个拦截)&(返回结果):NextActivity
 ActivityStarter.with(activity)
            // 登录拦截
            .addInterceptor(LoginInterceptor())
            // 认证拦截
            .addInterceptor(AuthInterceptor())
            // 跳转下一页
            .startForResult(1001,Intent(activity, NextActivity::class.java).apply {
                putExtra("message", "我是上个界面传入的数据")
            }){
                requestCode, resultCode, data ->
                if (requestCode == 1001 && resultCode == Activity.RESULT_OK) {
                   //TODO
                }   
            }

具体代码:github.com/yixiaolunhui/ActivityStart

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2095028.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Vulnhub靶场 | DC系列 - DC9

文章目录 DC-9环境搭建渗透测试端口敲门服务 DC-9 环境搭建 靶机镜像下载地址:https://vulnhub.com/entry/dc-6,315/需要将靶机和 kali 攻击机放在同一个局域网里;本实验kali 的 IP 地址:192.168.10.146。 渗透测试 使用 nmap 扫描 192.1…

【Linux】Ubuntu 安装 NFS 步骤详解

Ubuntu 安装 NFS 步骤详解 1.安装 NFS 服务2.配置 NFS 服务3.启用 NFS 服务4.客户端挂载 NFS 共享目录5.验证挂载是否成功6.持久化挂载(可选)7.其他客户端节点安装 NFS(Network File System)是一种允许不同主机之间通过网络共享文…

快速了解Git 文件的四种状态及其操作指令、如何忽略文件

😀前言 在软件开发过程中,版本控制是团队协作的基石之一。Git 作为分布式版本控制系统,被广泛应用于各类项目的管理中。在使用 Git 进行文件管理时,理解文件的不同状态以及如何有效操作这些文件是非常重要的。本文将介绍 Git 文件…

BaseCTF之web(week2)

目录 ez_ser 一起吃豆豆 你听不到我的声音 Really EZ POP RCEisamazingwithspace 所以你说你懂 MD5? 数学大师 ez_ser <?php highlight_file(__FILE__); error_reporting(0);class re{public $chu0;public function __toString(){if(!isset($this->chu0)){return…

Docker 容器编排之 Docker Compose

目录 1 Docker Compose 概述 1.1 主要功能 1.2 工作原理 1.3 Docker Compose 中的管理层 2 Docker Compose 的常用命令参数 2.1 服务管理 2.1.1 docker-compose up &#xff1a; 2.1.2 docker-compose down &#xff1a; 2.1.3 docker-compose start &#xff1a; 2.1.4 docker…

数据结构:(LeetCode101)对称二叉树

给你一个二叉树的根节点 root &#xff0c; 检查它是否轴对称。 示例 1&#xff1a; 输入&#xff1a;root [1,2,2,3,4,4,3] 输出&#xff1a;true示例 2&#xff1a; 输入&#xff1a;root [1,2,2,null,3,null,3] 输出&#xff1a;false提示&#xff1a; 树中节点数目在范围…

World of Warcraft [CLASSIC][80][Shushia] [Obsidian Sanctum][Sartharion]

黑曜石圣殿 [Obsidian Sanctum] 萨塔里奥[Sartharion] 号旗披风、龙魂图典、五色巨龙之怒、黑曜石巨盔等装备&#xff0c;都是非常极品的BIS装备 召唤顺序&#xff1a;&#xff08;中&#xff09;塔尼布隆、&#xff08;右&#xff09;沙德隆、&#xff08;左&#xff09;维斯…

SAP OBYC配置方案

在SAP OBYC配置中&#xff0c;确保评估级别与会计科目匹配的关键在于正确设置评估级别、评估分组代码以及相关的会计科目。以下是确保匹配的步骤和注意事项&#xff1a; 定义评估控制&#xff1a;在SAP中&#xff0c;首先需要定义评估控制&#xff0c;这通常与工厂或公司代码相…

switch语句和while循环

switch语句和while循环 switch语句break的用法default的用法switch语句中的case和default的顺序问题 while语句while语句的执行流程while语句的具体例子 switch语句 switch 语句是⼀种特殊形式的 if…else 结构&#xff0c;用于判断条件有多个结果的情况。它把多重 的 else if…

13 隔离性

数据库并发的场景 读-读&#xff1a;不存在任何问题&#xff0c;也不需要并发控制 读-写&#xff1a;有线程安全问题&#xff0c;可能会造成事务隔离性问题&#xff0c;可能遇到脏读&#xff0c;幻读&#xff0c;不可重复读 写-写&#xff1a;有线程安全问题&#xff0c;可能存…

低代码开发与数据库:数字化转型的新引擎

低代码开发与数据库&#xff1a;数字化转型的新引擎 前言低代码开发的革命性优势数据库在低代码开发中的关键角色实践案例分析未来展望结语 前言 在当今这个快速变化的时代&#xff0c;技术的革新不断推动着企业向数字化转型迈进。随着云计算、大数据、人工智能等技术的飞速发展…

VastBase——执行计划

一、SQL的执行过程 1.词法分析 从查询语句中识别出系统支持的关键字、标识符、运算符、终结符等&#xff0c;确定每个词固有的特性。 以如下这个查询为例&#xff1a; select name from test_0717 where id > 1; 该SQL语句可以划分的关键字、标识符、运算符、常量等…

机器视觉-3 光学成像之明场与暗场

一. 原理介绍 在机器视觉中&#xff0c;光学成像的明场&#xff08;Bright Field&#xff09;和暗场&#xff08;Dark Field&#xff09;是两种常见的成像技术&#xff0c;分别用于不同的检测和分析场景。它们通过不同的光照方式来突出对象的特征&#xff0c;从而帮助识…

基于单片机的多功能数字闹钟设计

本设计是基于单片机来设计的多功能数字闹钟。主要功能包括显示年、月、日、星期、时、分、秒和温湿度等信息&#xff0c;并提示当前环境温湿度是否处于人体舒适区间内&#xff0c;并且设置了4个闹钟用于日常生活中使用&#xff0c;同时设计有秒表计时、整点报时功能等等。在控制…

PCIe Gen4 ltssm协商过程

本章节我们以gen4 Endpoint为例介绍PCIe ltssm(链路状态机)协商过程。 正常PCIe设备链路状态跳变为 detect-->polling-->configuration-->L0(gen1)-->recovery-->L0(gen3)-->recovery-->L0(gen4)。 需要注意的是在进入configuration状态之前&#xff…

视频化时代,用好AIGC产品赋能企业培训打造增效降本“最佳实践”

根据IBM的数据&#xff0c;85%的中国企业正在加速投资AI领域&#xff0c;其中超过63%的企业已积极采用生成式AI。德勤的调研进一步显示&#xff0c;近80%的全球受访企业高管认为&#xff0c;生成式AI的兴起与发展将在3年内推动组织和行业发生实质性变革&#xff0c;这也就意味着…

若依nodejs全栈(五:导出Excel与用户列表填坑)

回顾 上一章节中&#xff0c;我们学会了ruoyi用户列表简单的增删改查功能&#xff0c;但是上一节还存在一些问题&#xff1a; 查询的列表是全部数据&#xff0c;没加查询条件&#xff1b;没有导出功能&#xff1b;新增或修改时&#xff0c;用户关联的角色、岗位、菜单等没做关…

【R语言速通】1.数据类型

文章目录 0. 变量名1.基本数据类型1.1 数值型1.2 整型1.3 复数型1.4 逻辑型1.5 字符型 2.复合数据类型2.1 向量向量操作向量的常用函数 2.2 矩阵矩阵操作矩阵的常用函数 2.3 数组数组的操作数据的运算数组的访问数组的维度操作 数组的常用函数 2.4 数据框数据框操作数据框的常用…

Flutter安装问题解决

https://blog.csdn.net/Oven_maizi/article/details/126804404 首次运行 flutter dockor 报的错误&#xff0c;可以看到报错提示&#xff0c;安卓开发、win开发 还缺少依赖&#xff0c;但 web开发是可以的&#xff0c;那么只需要解决 网络资源不可用问题 PS E:\workspace\te…

生信机器学习入门4 - scikit-learn训练逻辑回归(LR)模型和支持向量机(SVM)模型

通过逻辑回归&#xff08;logistic regression&#xff09;建立分类模型 1.1 逻辑回归可视化和条件概率 激活函数 (activation function)&#xff1a; 一种函数&#xff08;如 ReLU 或 S 型函数&#xff09;&#xff0c;用于对上一层的所有输入进行求加权和&#xff0c;然后生…