RecyclerView通用adapter以及item点击事件的实现
来源:互联网 发布:象棋软件下载 编辑:程序博客网 时间:2024/06/05 09:25
今天实现内容如下:
1.实现recyclerview通用的adapter CommonAdapter
2.实现recyclerview item的点击事件
先上效果图
viewpager+fragment+viewpagerindicator实现整体框架,上图中下面的类似GridView的图片列表为要实现效果。
首先定义一个供CommonAdapter使用的ViewHolder
代码1(ViewHolder)
其中get方法先得到itemView,再通过ViewHolder构造器得到ViewHolder实例;
getView通过itemView.findViewById(子view的id)得到itemView中包括的子view;
getConvertView方法得到itemView(在get方法中将得到的itemVIew传入了ViewHolder的构造器,而构造器总将itemView的值赋给了成员变量mConvertView);
代码2 (CommonFragmentAdapter:因项目中为为Fragment使用的adapter,但实际上是通用的)
在onCreateViewHolder中通过VIewHolder的get方法得到ViewHolder实例,通过ViewHolder的getConvertView方法得到recyclerview itemView,
给itemView设置监听事件,最后返回ViewHolder实例;
在onBindViewHolder方法中调用了当前CommonFragmentAdapter中定义的抽象方法convert,并在此处得到当前itemView,并将position作为setTag
方法的实参传入,此tag值用来确定点击了哪一个item,convert方法的作用在于实例化adapter时回掉此方法,此方法的参数即为当前ViewHolder实例
和当前数据集合中的数据。
定义一个OnRecyclerView接口,接口里定义一个onItemClick方法,声明一个接口变量mOnRecyclerViewListener,在itemView的onClick方法中,如果
mOnRecyclerView变量不为空,则调用mOnRecyclerView.onItemClick,并将当前itemView和getTag得到的position值传入onItemClick方法。最后定义
一个setOnItemClickListener方法方便调用。这样就实现了CommonAdapter的封装和点击事件。
代码3 (fragment中使用)
实例化一个CommonFragmentAdapter,在回调方法convert中处理业务逻辑,给recyclerView设置布局管理器,此处为GridLayoutManager,将CommonFragmentAdapter实例设置给recyclerview,itemView点击事件通过
CommonFragmentAdapter.setOnItemCLickListener来实现。
程序员的魅力在于分享
参考了前辈鸿洋的博客
原文链接 http://blog.csdn.net/lmj623565791/article/details/51118836
0 0
- RecyclerView通用adapter以及item点击事件的实现
- RecyclerView的Item点击事件实现总结
- RecyclerView 的工具类,更方便的实现 Adapter,item 点击事件,更快的实现加载提示,分页加载。
- RecyclerView Item 的点击事件
- RecyclerView的item点击事件
- RecyclerView的item点击事件
- RecyclerView的item点击事件
- RecyclerView的Item点击事件
- RecyclerView的item点击事件
- 实现RecyclerView 的通用Adapter
- 给RecyclerView通用Adapter添加Item单击事件
- 实现RecyclerView的item点击事件的内部监听器
- RecyclerView.Adapter 点击事件
- RecyclerView实现Item点击事件方法一
- RecyclerView实现Item点击事件方法二
- RecyclerView Item点击事件实现 类似GridView
- Android 解析RecyclerView(1)——带点击事件监听的通用Adapter
- RecyclerView的item的点击事件
- LoRa联盟中的中国籍会员
- lightoj 1265 Island of Survival 概率
- treeview 鼠标划过显示红色,选择了显示系统缺省蓝色。
- 如何新建XML格式文档
- kafka参数配置详解
- RecyclerView通用adapter以及item点击事件的实现
- 设计模式之工厂模式
- xUtils2和xUtils3的使用及区别
- linux 远程 windows
- hibernate中设置inverse属性对多对多关联关系的影响
- TreeView.DrawNode Event 官方指南
- 从源代码分析Android-Universal-Image-Loader的缓存处理机制
- lightOj 1248 Dice (III) 概率公式
- libevent之Reactor模式详解