Android之Adapter的封装与抽象(二)
来源:互联网 发布:路由器桥接后网络很慢 编辑:程序博客网 时间:2024/05/16 11:44
记得之前有写过一篇Adapter的封装与抽象,是关于ViewPager、ListView、GridView、Spinner的Adapter,
这里新增一个RecyclerView的Adapter。
其实RecyclerView.Adapter已经写的很好了,在这里再进行一下封装与抽象,来简化代码的耦合性。
与之前Adapter的封装大致风格一致,代码如下:
/** * @author Jenly * @param <T,H> T:实体对象,H:ViewHolder */public abstract class HolderRecyclerAdapter<T,H extends RecyclerView.ViewHolder> extends RecyclerView.Adapter<H>{ private Context context; private List<T> listData; private LayoutInflater layoutInflater; public HolderRecyclerAdapter(Context context,List<T> listData){ super(); this.context = context; this.listData = listData; this.layoutInflater = LayoutInflater.from(context); } @Override public H onCreateViewHolder(ViewGroup parent, int viewType) { View itemView = buildConvertView(layoutInflater,viewType); return buildHolder(itemView,viewType); } @Override public void onBindViewHolder(H holder, int position) { bindViewDatas(holder,listData.get(position),position); } @Override public int getItemCount() { return listData==null ? 0:listData.size(); } public View inflate(int layoutId){ return layoutInflater.inflate(layoutId, null); } public List<T> getListData() { return listData; } public void setListData(List<T> listData) { this.listData = listData; } /** * 建立convertView * @param layoutInflater * @param viewType * @return */ public abstract View buildConvertView(LayoutInflater layoutInflater,int viewType); /** * 建立视图Holder * @param convertView * @param viewType * @return */ public abstract H buildHolder(View convertView,int viewType); /** * 绑定数据 * @param holder * @param t * @param position */ public abstract void bindViewDatas(H holder,T t,int position);}
所有最新源码已总结上传至github 欢迎Star或Fork。
1 0
- Android之Adapter的封装与抽象(二)
- Android之Adapter的封装与抽象
- Android之Adapter的封装与抽象(三)
- android之adapter的抽象与提炼
- Android-多列表的项目(Rxjava+Rtrofit+Recyclerview+Glide+Adapter封装)之(二)网络层的封装
- Android-多列表的项目(Rxjava+Rtrofit+Recyclerview+Glide+Adapter封装)之(二)网络层的封装
- Android万能适配器(二)封装Adapter
- Android提高篇之Adapter的抽象整合
- 商城之Adapter的封装
- android 简单的adapter封装
- Android---封装ListView的Adapter
- Android 封装RecyclerView的Adapter
- Android Adapter的简单封装
- Android-万能 Adapter 封装(实现textview,imageView 的简单封装,封装 jar 包)
- 学习笔记之----Adapter的封装(RecyclerView)
- Windows消息的封装之:对话框与控件(二)
- RecyclerView.Adapter的优化与封装
- RecyclerView.Adapter的封装之路
- vim中空格替换为换行及删除换行
- 微信硬件平台设备直连全讲解(1)开发前的准备
- 字节流-FileInputStream_FileOutputStream_BufferedInputStream_BufferedOutputStream
- Makefile详解——从入门到精通
- gitlib项目迁移到新Gitlab Server
- Android之Adapter的封装与抽象(二)
- arcengine 捕捉笔记
- 【转】一个十二年老程序猿的碎碎念
- SQL 字符串排序 (字符串为数字、字母、汉字)
- 查看Qt中可用的数据库插件
- Android 时间为隔天的九点、并且跳过周末
- spring配置详解-连接池配置(转载…
- Spring ApplicationContext.x…
- 51nod 1128 正整数分组 V 二分+贪心