当前位置: 首页 > news >正文

RecyclerView 与 ListView 区别和使用

前置知识:ListView基本用法与性能提升

RecyclerView 与 ListView 区别

RecyclerView 需要设置布局(LinearLayoutManager、GridLayoutManager、StaggeredGridLayoutManager)

recyclerView?.layoutManager = LinearLayoutManager(activity)
recyclerView?.layoutManager = GridLayoutManager(activity, 2)

ListView 的 Adapter 只有在 getView() 里,载入子项布局、获取子项数据、绑定子项布局和子项数据。

而 RecyclerView 的 Adapter 区分出了:

  • onCreateViewHolder():载入子项布局并返回 ViewHolder。所以,RecyclerView 强制实现 ViewHolder);
  • onBindViewHolder():获取子项数据并绑定子项布局和子项数据;
  • 此外,RecyclerView 还需要重写 getItemCount()

RecyclerView.Adapter 代码

class CustomAdapter(private val dataSet: Array<String>) :RecyclerView.Adapter<CustomAdapter.ViewHolder>() {class ViewHolder(view: View) : RecyclerView.ViewHolder(view) {val textView: TextViewinit {textView = view.findViewById(R.id.textView)}}override fun onCreateViewHolder(viewGroup: ViewGroup, viewType: Int): ViewHolder {val view = LayoutInflater.from(viewGroup.context).inflate(R.layout.text_row_item viewGroup, false)return ViewHolder(view)}override fun onBindViewHolder(viewHolder: ViewHolder, position: Int) {viewHolder.textView.text = dataSet[position]}override fun getItemCount() = dataSet.size
}

补充阅读:

  • 使用 RecyclerView 创建动态列表
  • RecyclerView浅析
http://www.lryc.cn/news/273002.html

相关文章:

  • 力扣232. 用栈实现队列
  • 这个方法可以让你把图片无损放大
  • Springboot整合Elastic-job
  • VsCode的介绍和入门
  • C++:自创小游戏
  • AIGC带给开发者的冲击
  • 利用蚁剑钓鱼上线CS
  • 宣传照(私密)勿转发
  • 【Spring】19 AOP介绍及实例详解
  • ES(Elasticsearch)的基本使用
  • 【JVM面试题】Java中的静态方法为什么不能调用非静态方法
  • 对‘float16_t’的引用有歧义
  • Windows重装升级Win11系统后 恢复Mysql数据
  • MySQL之四大引擎、账号管理以及建库
  • shell编程——查找局域网内存活主机
  • python django 个人记账管理系统
  • C#的Char 结构的方法之IsLetterOrDigit()
  • 配置Docker私有仓库
  • 计算机网络-动态路由
  • 光耀未来 第一届能源电子产业创新大赛太阳能光伏赛道决赛在宜宾举行
  • 【小沐学NLP】Python实现TF-IDF算法(nltk、sklearn、jieba)
  • .cer格式证书文件和 .pfx格式证书文件有什么区别?
  • 【docker实战】安装tomcat并连接mysql数据库
  • LeetCode 每日一题 Day 32 ||递归单调栈
  • 【mars3d】FixedRoute的circle没有跟polyline贴着模型的解决方案
  • Day7 vitest 之 vitest配置第三版
  • git补充上次提交
  • 计算机网络名词解释
  • flink table view datastream互转
  • redis重启后数据丢失问题解决(亲测好用)