区别 | ListView | RecyclerView | 说明 |
---|---|---|---|
Adapter | 需继承BaseAdapter
|
需继承RecyclerView.Adapter
|
- |
ViewHolder | 自定义 | 需继承RecyclerView.ViewHolder
|
RecyclerView 编写更加规范化;且RecyclerView 自己复用item ,ListView 需自己优化(判断convertView 是否为null 等) |
LayoutManager | 无 | 有 | 布局效果多样化,ListView 布局比较单一,只有纵向效果。RecyclerView 布局效果丰富。 |
空数据处理 |
setEmptyView() 方法 |
无 | |
HeaderView 与 FooterView |
addHeaderView() 与 addFooterView()
|
无,可通过ViewHolder 的Type 自己实现 |
|
局部刷新 |
notifyDataSetChanged() 全局刷新 |
notifyItemChanged() |
|
动画效果 | 无 |
Adapter 中可自己实现动画效果 |
|
ItemTouchHelper | onItemClickListener() |
需要通过addOnItemTouchListener() 方法自己实现 |
|
嵌套滑动机制 | 无 | 有 |
总结的比较简单,详细请查看原文。
转自:ListView 与 RecyclerView 简单对比
网友评论