深入理解RecyclerView的设计和实现

RecyclerView作为官方替代ListView的控件,它具有以下优点

  1. 自定义布局方式,使我们轻松实现ListView、GridView形式,瀑布流形式
  2. 定义ViewHolder代替View,封装了缓存判断逻辑

RecyclerView实现流程

mRecyclerView.setLayoutManager(getActivity());
mRecyclerView.setHasFixedSize(true);
mRecyclerView.setAdapter(mAdapter);

通过执行以上代码片段,执行流程如下图的
这里写图片描述

RecyclerView的设计

  1. 通过桥接模式,使RecyclerView 将布局方式独立成LayoutManager,实现对布局的定制化。
  2. 通过组合模式,使RecycleView通过dispatchLayout对Item View进行布局绘制的。
  3. 通过适配器模式,ViewHolder将RecycleView与ItemView联系起来,使得RecycleView方便操作ItemView。
  4. 通过观察者模式,给ViewHolder注册观察者,当调用notifyDataSetChanged时,就能重新绘制。

使用RecyclerView注意问题

  1. 没有处理Item点击事件
  2. 没有Header 和Footer接口
  3. RecyclerView的操作单位时ViewHolder,不再是View
  4. ViewHolder是android中定义的Adapter基类中的泛型参数
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值