当前位置:首页 > 渗透破解 > 正文内容

recyclerview复杂布局(recyclerview item点击事件无效)

访客3年前 (2022-01-04)渗透破解925

本文是介绍 RecyclerView 入门 系列文章 的第三篇。如果您已经对创建 RecyclerView 有了一定的认识,请继续阅读本文。如果尚未熟悉,建议您首先阅读本系列中的 之一篇文章。

当使用 RecyclerView 显示列表数据的时候,您可能需要响应列表元素的点击事件。该响应处理包括: 打开包含更多数据的页面、显示 toast、删除某个元素等等。相关的响应事件虽然数不胜数,但是它们均需要通过 onClick() 来实现。

定义点击动作

在创建监听器之前,在 Activity 类中添加一个函数用于处理点击之后的响应操作。

<!--Copyright2019GoogleLLC. SPDX-License-Identifier:Apache-2.0-->

privatefunadapterOnClick(flower:Flower){ valintent=Intent(this,FlowerDetailActivity()::class.java) intent.putExtra(FLOWER_ID,flower.id) this.startActivity(intent) }

接下来,修改 Adapter 的构造函数来传入 onClick() 函数。

<!--Copyright2019GoogleLLC. SPDX-License-Identifier:Apache-2.0-->

classFlowersAdapter(privatevalonClick:(Flower)->Unit): ListAdapter<Flower,RecyclerView.ViewHolder>(FlowerDiffCallback())

在 Activity 类中,在初始化 Adapter 的时候传入刚刚创建的点击事件函数。

<!--Copyright2019GoogleLLC. SPDX-License-Identifier:Apache-2.0-->

valflowersAdapter=FlowersAdapter{flower-> adapterOnClick(flower) }

添加 onClickHandler()

现在响应处理已经定义好了,可以将它关联到 Adapter 的 ViewHolder 了。

修改 ViewHolder,将 onClick() 作为参数传入。

<!--Copyright2019GoogleLLC. SPDX-License-Identifier:Apache-2.0-->

classFlowerViewHolder(itemView:View,valonClick:(Flower)->Unit): RecyclerView.ViewHolder(itemView)

在初始化的代码中,调用 itemView 的 setOnClickListener{}。

<!--Copyright2019GoogleLLC. SPDX-License-Identifier:Apache-2.0-->

init{ itemView.setOnClickListener{ currentFlower?.let{ onClick(it) } } }

搞定!现在您的 RecyclerView 可以响应点击事件了。

编程快乐!

下一步

请查阅包含 onClick() 的 完整示例。

感谢您阅读 RecyclerView 系列 文章的第三篇。请继续关注未来更多关于 RecyclerView 的内容。

如果您想了解更多关于 onClick() 的内容,请参考 官方文档。

www.gj *** g.com

扫描二维码推送至手机访问。

版权声明:本文由黑客技术发布,如需转载请注明出处。

本文链接:http://w-123.com/103102.html

“recyclerview复杂布局(recyclerview item点击事件无效)” 的相关文章

关键 SonicOS 漏洞影响 SonicWall 防火墙设备

Hackernews 编译,转载请注明出处: SonicWall 发布了安全更新,其中包含一个跨多个防火墙设备的关键漏洞,未经身份验证的远程攻击者可以将其武器化,以执行任意代码并导致拒绝服务(DoS)情况。 根据CVE-2022-22274 (CVSS 得分: 9.4)的跟踪记录,...

DNS 曝高危漏洞,影响数百万物联网设备

近日,Nozomi Networks发出警告,uClibc库的域名系统 (DNS) 组件中存在一个高危漏洞,编号为CVE-2022-05-02,该漏洞将影响所有版本uClibc-ng库的域名系统(DNS),因此,数百万台使用uClibc库的物联网设备都也将受到影响。 资料显示,uClibc库专门为...

Okta 结束 Lapsus$ 黑客事件调查:攻击持续25分钟 仅两个客户受到影响

在被黑客组织 Lapsus$ 入侵三个月后,身份验证平台 Okta 终于在周二的一篇博客文章中,分享了正式版的内部调查报告。公司首席安全官 David Bradbury 指出:在攻击发生后不久,他们就已经就获知了相关细节。不过随着分析的深入,他们进一步收缩了早期评估的潜在影响范围。 Bradbur...

伦敦警方指控两名少年多项网络罪名 涉嫌参与 Lapsus$

针对黑客组织 Lapsus$ 的专项打击活动仍在继续,就在一周前逮捕 7 名青少年之后,英国警方指控 2 名青少年犯有多项网络罪行。目前这 2 人仍处于拘留中,并将于本周五晚些时候在海布里角地方法院出庭。 在周五的一份声明中,伦敦市警察局探长迈克尔·奥沙利文表示这两名年龄分别为 16 岁和 17...

微软观察到许多攻击者开始对 Log4j 漏洞加以利用

12月14日,Apache Log4j 2团队发布了Log4j 2.16.0以修复这些漏洞。在补丁应用之前,所有现有的Apache Log4j运行服务器都将成为黑客的潜在目标。微软最近更新了预防、检测和解决Log4j 2漏洞的指南,向客户给出了解决和预防方案。 据微软称,攻击者正在积极利用Log4j...

2021 年加密货币相关犯罪创新高 规模达惊人 140 亿美元

时间已正式迈入 2022 年,分析公司 Chainalysis 表示在过去一年中与加密货币有关的犯罪达到了历史最高水平,非法地址获得了惊人的 140 亿美元。收到的绝大部分资金是通过诈骗、盗窃和暗网市场获得的,而另一个不断增长的被盗资金来源则是赎金。 非法资金从 2020 年的 78 亿美...

评论列表

夙世一镜
2年前 (2022-07-04)

owersAdapter{flower->adapterOnClick(flower)}添加 onClickHandler()现在响应处理已经定义好了,可以将它关联到 Adapter 的 ViewHolder 了。修改 ViewHolder,将 onClick() 作为参数传入。&

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。