Activity之间跳转实现--安卓作业2

article/2025/9/30 13:13:33

一.要求分析 

目前已经利用adapter实现了将数据传输recycleview界面。这次作业主要是利用intent传递参数并实现activity之间的跳转

1.在Adapter中的内部类viewholder中设置一个监听,用于recyclerview中每一个item

myviewholder.textView.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View view) {Intent intent=new Intent(context,ItemActivity.class);context.startActivity(intent);}});

2.设置好监听之后,需要新建一个activity用来加载详情界面

 3.将recyclerview中item的内容加载到详情页面对应的activity中

Itemactivity中的代码

protected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_item);textView=findViewById(R.id.itemtextView2);button=findViewById(R.id.button);button.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View view) {Intent intent=new Intent(ItemActivity.this,resultActivity.class);test.launch(intent);}});}

调用onActivityResultLauncher获取跳转之后界面传递回来的状态,数据等信息

public ActivityResultLauncher test = registerForActivityResult(new ActivityResultContracts.StartActivityForResult(),new ActivityResultCallback<ActivityResult>(){@Overridepublic void onActivityResult(ActivityResult result) {if (result.getResultCode() == 888){Log.d("xr","onActivityResultLauncher...");textView.setText(result.getData().getStringExtra("data"));}}});

4.resultActivity

protected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_result);Intent intent=getIntent();intent.putExtra("data","今天是安卓课,老师是肖蓉"+"上课时间是"+ Calendar.getInstance().getTime());setResult(888,intent);finish();}

二、核心技术
1)intent和bundle:

intent用于从一个activity跳转到另一个activity。在调和被调的activity中的intent书写形式不一样。
bundle可以看作一个键值对列表。这个列表非常人性化的地方在于,它的value值可以是整型,char,String各种类型都可。并且每一个value值你可以给它一个名字,方便访问。它和intent配合使用的时候就可以让intent不只是只能带一个值而是可以带多个并且是不同种类的值。简直不要太好!
学了intent之后我也想了以下为什么之前传值的时候要自己写一个私有类MyAdapter而不是直接用intent。intent和adapter都是传值,这两者之间到底有什么区别??后来我仔细想了想,adpter传值可以看作静态的,即将一系列静态的数据传到我们写的界面中,我们不需要两个activity之间调用就可以将数据传入;而intent是在我们操作activity的过程中传值的工具,它传值的条件建立在一个activity调用另一个activity的过程中。所以这两者区别还是挺大的。
2)onActivityResult:

在进行界面间的跳转和传递数据的时候,我们有的时候要获得跳转之后界面传递回来的状态,数据等信息。这个时候,我们不一定需要使用Intent进行跳转回原来设置的界面,而是使onActivityResult方法就可以解决这个问题。

三.结果展示

四.实验小结

本次实验主要完成了intent传值和activity之间的跳转,通过本次实验我了解了如何使用onActivityResult来进行界面间的跳转和传递数据,了解了跳转和跳转到的activity中调

用的intent的写法不同
 


http://chatgpt.dhexx.cn/article/ZbOxf3jU.shtml

相关文章

Activity的三种跳转

一个界面跳转到另一个界面&#xff0c;这就Activity的跳转。我们在开发中常见的跳转有三种。普通跳转、有返回值的跳转、透传跳转。我们先来看一种。 1 . Activity的普通跳转&#xff08;传值跳转&#xff09; 这个跳转是最简单的 Intent intentnew Intent(); intent.setCla…

如何使用正则表达式对输入数字进行匹配详解

前言&#xff1a; 最近有一个区间范围限制&#xff0c;一般255数字以下的都能在网上薅到&#xff0c;但是需要弄一个int16、int32、int64范围的输入限制......在网上逛了很久都没找到&#xff0c;基本都是从0开始教学那种&#xff0c;我又不想看&#xff0c;觉得写的范围太大了…

python正则表达式从字符串中提取数字

文章目录 python从字符串中提取数字使用正则表达式&#xff0c;用法如下&#xff1a;解题思路&#xff1a;代码如下&#xff1a; 匹配指定字符串开头的数字匹配包含指定字符串开头的数字匹配时间&#xff0c;17:35:24匹配时间&#xff0c;20181011 15:28:39 python从字符串中提…

Java正则表达式校验数字、字母及特殊字符

一、校验数字的表达式 1.数字&#xff1a;^[0-9]*$ 2.n位的数字&#xff1a;^\d{n}$ 3.至少n位的数字&#xff1a;^\d{n,}$ 4.m-n位的数字&#xff1a;^\d{m,n}$ 5.零和非零开头的数字&#xff1a;^(0|[1-9][0-9]*)$ 6.非零开头的最多带两位小数的数字&#xff1a;^([1-9][0-9…

JS正则表达式验证数字、非数字、正数、负数

<script type"text/javascript"> function judgeSign(num) {var reg new RegExp("^-?[0-9]*.?[0-9]*$");if ( reg.test(num) ) {var absVal Math.abs(num);return numabsVal?是正数:是负数;}else {return 不是数字;} } console.log(judgeSign(-…

使用正则表达式对输入数字进行匹配

前言&#xff1a; 最近有一个区间范围限制&#xff0c;一般255数字以下的都能在网上薅到&#xff0c;但是需要弄一个int16、int32、int64范围的输入限制......在网上逛了很久都没找到&#xff0c;基本都是从0开始教学那种&#xff0c;我又不想看&#xff0c;觉得写的范围太大了…

Python-正则表达式匹配数字

re.match和re.search的区别&#xff1a; re.match 尝试从字符串的起始位置匹配一个模式&#xff0c;如果不是起始位置匹配成功的话&#xff0c;match()就返回none&#xff1b; re.search 扫描整个字符串并返回第一个成功的匹配。 匹配 字符串里面的全部数字&#xff1a;\d 例…

常用正则表达式汇总—(数字匹配/字符匹配/特殊匹配)

匹配大写字母开头单词 r"\b[A-Z][a-z]*\b" r"\b[A-Z]\w*\b"匹配数字 r"\s(-?\d\.?/?\d*%?)"替换日期 2019-09-09 换成 2019.09.09 r"\d{4}-\d{1,2}-\d{1,2}"比较常用的几个正则表达式(匹配数字)评…

【质量】镜像漏洞扫描工具Trivy原理和操作

目录 Trivy工作原理 cve ID和CVE数据库 Trivy扫描镜像流程 快速入门 Trivy工作原理 cve ID和CVE数据库 个人理解&#xff1a; 当有人发现漏洞时&#xff0c;在社区提交漏洞&#xff0c;然后被cve 官方数据库收录&#xff0c;分配cve id。 漏洞扫描工具扫描镜像内的组件…

基于JAVA_Swing的图形化GUI漏洞扫描工具开发的编程思维

文章目录 前言一、工具外观整体设计二、漏洞检测类模块总结2022年6月27日更新此篇 前言 CSDN博客有很长一段时间没有更新&#xff0c;漏洞复现的文章也没有经常发了&#xff0c;原因是因为我这段时间在做一件大事&#xff0c;并且这件大事已经做完啦&#xff01;&#xff01;&…

Xray-强大的漏洞扫描工具

Xray是什么&#xff1f; xray (https://github.com/chaitin/xray) 是从长亭洞鉴核心引擎中提取出的社区版漏洞扫描神器&#xff0c;支持主动、被动多种扫描方式&#xff0c;自备盲打平台、可以灵活定义 POC&#xff0c;功能丰富&#xff0c;调用简单&#xff0c;支持 Windows …

Java 漏洞扫描工具之 IDE 插件中强烈建议修复的漏洞

近期有很多同学在找【漏洞扫描工具】&#xff0c;今天来推荐下这款开源组件的漏洞检测工具&#xff1a;使用简单、能力专业、风险展示清晰的 ide 插件“murphysec”。 它可以快速识别项目中使用了哪些存在安全缺陷的开源组件&#xff0c;并帮助一键修复问题。目前支持Java、Ja…

Web安全 Acunetix漏洞扫描工具.

Acunetix 漏洞扫描工具概括 Acunetix 是一个自动化的 Web 应用程序安全测试工具&#xff0c;是通过检查 SQL 注入&#xff0c;跨站点脚本&#xff08;XSS&#xff09;和其他可利用漏洞等来审核您的 Web 应用程序。一般来说&#xff0c;Acunetix 能够扫描任何通过网络浏览器访问…

idea漏洞扫描工具SonarLint

目的 在使用持续集成发布时&#xff0c;其中加入了sonar的校验&#xff0c;为了提高sonar校验评分&#xff0c;希望在本地进行体检校验。 方案 在idea中安装代码校验插件&#xff0c;这里使用SonarLint | Code Quality and Code Security starts in your IDE&#xff0c;其他还…

【网安神器篇】——WPScan漏洞扫描工具

作者名&#xff1a;Demo不是emo 主页面链接&#xff1a;主页传送门创作初心&#xff1a;舞台再大&#xff0c;你不上台&#xff0c;永远是观众&#xff0c;没人会关心你努不努力&#xff0c;摔的痛不痛&#xff0c;他们只会看你最后站在什么位置&#xff0c;然后羡慕或鄙夷座右…

基于JavaFx的ThinkPHP漏洞扫描工具---RexHa(Aazhen)的一些说明

文章目录 吹水环节一、工具的功能&#xff08;新旧版本对比&#xff09;二、工具的使用与操作2.1 工具新旧版展示2.2 漏洞单个扫描验证功能展示2.2.1 Thinkphp-2.x rce--&#x1f44c;&#x1f3fb;2.2.2 ThinkPHP-5.0.23-RCE--&#x1f44c;&#x1f3fb;2.2.3 ThinkPHP5.0.x-…

漏洞扫描程序

什么是漏洞 漏洞是任何软件中存在的安全漏洞。如果被利用&#xff0c;这些缺陷可能允许攻击者未经授权访问敏感信息&#xff0c;或者通常造成严重破坏&#xff0c;使整个组织面临风险。外部安全研究人员和相关供应商不断审查公开可用的软件以识别漏洞。任何发现的漏洞都会使用…

Web安全 Nessus漏洞扫描工具.

Nessus的概括 Nessus 是世界上很流行的漏洞扫描程序&#xff0c;全世界很多组织都有在使用它。该工具提供完整的电脑漏洞扫描服务&#xff0c;并随时更新其漏洞数据库。Nessus不同于传统的漏洞扫描软件&#xff0c;Nessus可同时在本机或远端上遥控&#xff0c;进行系统的漏洞分…

用于渗透测试的10种漏洞扫描工具

漏洞扫描工具是IT部门中必不可少的工具之一&#xff0c;因为漏洞每天都会出现&#xff0c;给企业带来安全隐患。 漏洞扫描工具有助于检测安全漏洞、应用程序、操作系统、硬件和网络系统。 黑客在不停的寻找漏洞&#xff0c;并且利用它们谋取利益。网络中的漏洞需要及时识别和…

漏洞扫描工具之nessus

5.1 使用Nessus Nessus号称是世界上最流行的漏洞扫描程序&#xff0c;全世界有超过75000个组织在使用它。该工具提供完整的电脑漏洞扫描服务&#xff0c;并随时更新其漏洞数据库。Nessus不同于传统的漏洞扫描软件&#xff0c;Nessus可同时在本机或远端上遥控&#xff0c;进行系…