编写一个增加开发效率的BaseRecyclerAdapter,持续中...
来源:互联网 发布:淘宝店铺优惠券在哪 编辑:程序博客网 时间:2024/06/03 13:36
编写这个baseRecyclerAdapter类是为了自己可以增加一些想要添加的功能 为以后开发提供更多的方便
/** * adapter 基类 * Created by Home-Pc on 2017/7/13. */public abstract class BaseRecyclerAdapter<VH extends RecyclerView.ViewHolder> extends RecyclerView.Adapter<VH> { protected LayoutInflater layoutInflater; protected View itemRootView; public void setOnItemRecyclerViewClickListener(OnItemRecyclerViewClickListener onItemRecyclerViewClickListener) { this.onItemRecyclerViewClickListener = onItemRecyclerViewClickListener; } protected OnItemRecyclerViewClickListener onItemRecyclerViewClickListener; public BaseRecyclerAdapter(Context context) { layoutInflater = LayoutInflater.from(context); } @Override public VH onCreateViewHolder(ViewGroup parent, int viewType) { itemRootView = onItemContentView(layoutInflater,parent); return onCreateViewHolder(itemRootView,viewType); } /** * 绑定adapter View视图 * @param layoutInflater * @param viewGroup * @return */ protected abstract View onItemContentView(LayoutInflater layoutInflater,ViewGroup viewGroup); /** * 实例化Viewholder * @param itemView * @param viewType * @return */ protected abstract VH onCreateViewHolder(View itemView,int viewType); @Override public void onBindViewHolder(final VH holder, final int position) { onFindViewHolder(holder,position); if(initItemViewGroup(holder) != null){ initItemViewGroup(holder).setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { if(onItemRecyclerViewClickListener != null){ onItemRecyclerViewClickListener.onItemClickListener(initItemViewGroup(holder),position); } } }); } } /** * 设置item点击事件 * @param holder * @return 最外层的主布局 */ protected View initItemViewGroup(VH holder){ return null; } /** * 处理adapter数据逻辑 * @param hold * @param position */ protected abstract void onFindViewHolder(VH holder, int position); public abstract class BaseViewHolder extends RecyclerView.ViewHolder { public BaseViewHolder(View itemView) { super(itemView); } }}
其中 OnItemRecyclerViewClickListener:
/** * RecyclerViewAdpater 点击事件 * Created by Home_Pc on 2017/3/29. */public interface OnItemRecyclerViewClickListener { void onItemClickListener(View view, int position);}
阅读全文
0 0
- 编写一个增加开发效率的BaseRecyclerAdapter,持续中...
- Android开发谈谈那些增加开发效率的工具,看看你在用几个(持续更新...)
- Android Studio开过中常用的插件,大大提高开发效率!(持续更新中)
- .NET开发的常用方法总结(持续增加中……)
- 帝国CMS开发应用遇到的坑(持续增加中...)
- abap links(持续增加中)
- abap links(持续增加中)
- 树的各种遍历操作(持续增加中。。。)
- android 开发中遇到的一些小的知识点在此做一个记录(持续更新)
- HTML 开发中通过 Emmet使用增加开发效率终极篇
- 【原】让代码轻盈地飞舞——IDEA13最实用的功能,全面提升开发效率(桌面java项目开发实战)持续更新中
- 提高开发效率----as插件(持续更新)
- iOS开发效率篇——Xcode优秀插件使用(持续更新中)
- 推荐的几个开发常用在线工具,可以提升开发效率(持续更新)
- 嵌入式开发常见问题汇总 - 持续增加更新
- jquery效率优化集锦--持续更新中。。。
- 如何在前端开发中增加编码效率,这里有十款 Chrome 扩展可以帮你
- 找工作面试经验---持续增加中...
- java之mysql数据库连接
- 李洋疯狂C语言之break和continue的区别
- Leetcode习题记录——3Sum Closest
- static
- scrapy-redis配置
- 编写一个增加开发效率的BaseRecyclerAdapter,持续中...
- 教你如何成为优秀的DevOps工程师
- JVM内存管理,虚拟机堆栈的理解
- 理解Spring Boot中的auto-configuration
- pitch yaw roll
- POJ
- CANs(创意对抗网络)重磅发布,机器可生成的「艺术作品」比人类艺术家更受欢迎
- Android 之xml解析
- java 压缩和解压