![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
RecycleView
爱吃烧鸡大肘子的肉肉酱
为了干饭而快乐代码
展开
-
基于DiffUtil的RecycleView视图更新
当RecycleView的数据集发生变化生,一般都是调用notifyDataSetChanged()方法来通知视图更新,但当数据集合非常大,就会造成性能低。为了解决这个问题,就需要使用DiffUtil工具,DiffUtil是基于差分算法来计算新旧数据集合的差别,根据差别来更新视图。 掘金的这篇文章讲的很详细,我也是根据这篇文章学习使用DiffUtil的。 https://juejin.cn/post/6903339348754694158 第一步:首先继承DiffUtil.Callback抽象类,并实原创 2022-02-14 10:16:37 · 319 阅读 · 0 评论 -
RecycleView的Item拖拽效果以及拖拽位置保存
基于公司产品的优化需求,其中一个需求涉及到RecycleView的拖拽,以及拖拽后item位置的持久化,目的是可以用户自定义界面偏好,并在用户下次进入本界面后,之前设置的偏好仍然有效。我写了一个小Demo用作演示效果。 先看效果(只看效果,不看颜值) 步骤1、建接口文件ItemTouchHelperViewHolder,该接口文件中描述的是选中和放开当前Item调用的方法。 public interface ItemTouchHelperViewHolder { void onItemS原创 2022-01-04 14:13:27 · 2223 阅读 · 2 评论