CommonAdapter
项目地址:tianzhijiexian/CommonAdapter
简介:通过封装 BaseAdapter 和 RecyclerView.Adapter 得到的通用的,简易的 Adapter
标签:
通过封装 BaseAdapter 和 RecyclerView.Adapter 得到的通用、简易的 Adapter 对象。
功能
- [x] 支持多种类型的 item
- [x] item 会根据 type 来做自动复用
- [x] 支持 dataBinding 和其他注入框架
- [x] 支持 ViewPager 的懒加载模式
- [x] 提升 item 的独立性,完美支持 item 被多处复用
- [x] 一个 item 仅会触发一次绑定视图的操作,提升效率
- [x] 一个 item 仅会调用一次 setViews(),避免重复建立 listener
- [x] 支持快速将 ListView 的 adapter 切换为 recyclerView 的 adapter
- [x] 允许用 viewpager 的 notifyDataSetChanged()来更新界面
- [x] 可以给 recyclerView 的添加空状态(利用
RcvAdapterWrapper
) - [x] 可以给 recyclerView 的添加头、底(利用
RcvAdapterWrapper
) - [x] 提供了 getCurrentPosition()来支持根据不同的位置选择不同 item 的功能
- [x] 提供了 getConvertedData(data, type)方法来对 item 传入的数据做转换,拆包
- [x] 支持在 item 中获得 Activity 对象,用来跳转
- [x] 支持 RecycleView 层面得到 item 被点击的事件,内外事件会同时触发
- [x] 允许 Adapter 的数据范形和 item 中的不同,增加灵活性
- [x] 支持适配器的数据自动绑定,即:数据更改后 adapter 会自动 notify 界面(需配合 databinding 中的
ObservableList
)