栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

为什么在RecyclerView.Adapter的onBindViewHolder中添加OnClickListener被认为是不好的做法?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

为什么在RecyclerView.Adapter的onBindViewHolder中添加OnClickListener被认为是不好的做法?

最好在ViewHolder中处理单击逻辑的原因是,它允许更明确的单击侦听器。如Commonsware书中所述:

很久以来,ListView行中的可单击小部件(如RatingBar)一直与行本身的单击事件发生冲突。获取可以单击的行以及也可以单击的行内容有时会有些棘手。使用RecyclerView,您可以更加明确地控制如何处理此类事件……因为您是负责设置所有单击处理逻辑的人。

通过使用ViewHolder模型,与以前在ListView中相比,RecyclerView中的单击处理可以获得很多好处。我在比较差异的博客文章中写道-
https: //androidessence.com/recyclerview-vs-
listview

至于为什么用ViewHolder而不是in更好

onBindViewHolder()
,这是因为
onBindViewHolder()
每个项目都被调用并设置单击侦听器是不必要的选项,当您可以在ViewHolder构造函数中一次调用它时就可以重复。然后,如果您的单击响应取决于单击的项目的位置,则只需
getAdapterPosition()
在ViewHolder中调用即可。这是我给出的另一个答案,展示了如何
OnClickListener
在ViewHolder类中使用from。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/449436.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号