当前位置:首页 > 网站入侵 > 正文内容

recyclerview实现双击(recyclerview item点击事件无效)

访客2年前 (2021-12-31)网站入侵459

本文是介绍 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 的内容。

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

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

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

“recyclerview实现双击(recyclerview item点击事件无效)” 的相关文章

乌克兰安全局关闭了五个在公民中传播恐慌和错误信息的机器人农场

据Techspot报道,乌克兰国家安全局(SBU)宣布,自俄罗斯入侵该国以来,该机构已发现并关闭了5个运营10万个社交媒体账户的机器人农场,这些账户传播与入侵有关的假新闻。 SBU在一份新闻稿中写道,这些农场位于包括哈尔科夫、切尔卡瑟、捷尔诺皮尔和外喀尔巴阡在内的地区,被用于 “大规模信息破坏”,...

跑分软件 UserBenchmark 被 23 款安全软件误标记为“恶意软件”

反病毒软件主要根据各种病毒特征进行预防、隔离等操作,但有时候也会出现误杀的情况。UserBenchmark 就是最新案例。根据 VirusTotal,这个流行的免费基准测试工具已被近二十个网站标记为恶意软件。 UserBenchmark 是一个轻量级的免费软件,可以测试你的 CPU、GPU、内...

英国监管机构要求运营商关闭加密货币 ATM 机

在英国,购买比特币最简单、最匿名的方式之一是前往选定的商店,使用比特币自动取款机,你只需存入现金,然后将比特币发送到你的比特币钱包。英国金融行为监管局(FCA)现在正命令经营这些自动取款机的公司关闭它们,因为它们没有实施旨在防止洗钱的KYC措施。 要在英国运营,加密货币自动取款机应在FCA注册,并...

三星手机被曝重大漏洞 运行 Android 9 至 12 的所有机型均受影响

4月6日消息,安全公司Kryptowire警告说,三星的各种设备都容易受到重大安全漏洞的影响,该漏洞允许黑客接管设备。Kryptowire制作移动应用安全测试(MAST),这是一种扫描漏洞以及安全和隐私问题的工具。 据该公司称,它发现了一个漏洞(CVE-2022-22292),该漏洞可能允许黑客采...

因担心通风报信 FBI 暂缓公开 REvil 恶意软件的密钥

今年夏季 REvil 团伙发起了将近 3 周的大规模恶意软件攻击,美国联邦调查局(FBI)秘密扣留了密钥。该密钥本可以解密多达 1500 个网络上的数据和计算机,包括医院、学校和企业运营的网络。 援引华盛顿邮报报道,联邦调查局渗透了 REvil 团伙的服务器以获得该密钥。不过在和其他机构讨论之后,...

时隔两月 又有黑客在叫卖所谓的 7 亿条 LinkedIn 用户数据

两个月前,领英(LinkedIn)曾被曝出有 5 亿用户的个人资料被黑客挂在论坛上叫卖。近日,又有一位名叫“TomLiner”的卖家在兜售宣称包含了 7 亿条记录的文件。这位“GOD User”还在 RaidForums 论坛上挂出了一份百万级的样本,以证实其确实已于 6 月 22 日持有 7 亿条...

评论列表

俗野竹祭
2年前 (2022-06-27)

ick(flower:Flower){valintent=Intent(this,FlowerDetailActivity()::class.java)intent.putExt

性许抌妤
2年前 (2022-06-27)

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

绿邪性许
2年前 (2022-06-27)

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

忿咬笙痞
2年前 (2022-06-27)

应列表元素的点击事件。该响应处理包括: 打开包含更多数据的页面、显示 toast、删除某个元素等等。相关的响应事件虽然数不胜数,但是它们均需要通过 onClick() 来实现。定义点击动作在创建监听器之前,在 Activity 类中添加一个函数用于处理点击之

颜于南殷
2年前 (2022-06-27)

数用于处理点击之后的响应操作。<!--Copyright2019GoogleLLC.SPDX-License-Identifier:Apache-2.0-->privatefunadapterOnClick(flower:Flower){

发表评论

访客

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