recyclerVIew的使用笔记

原创 2016年08月30日 21:30:23

根据官方的介绍RecylerView是ListView的升级版,既然如此那RecylerView必然有它的优点,现就RecylerView相对于ListView的优点罗列如下:
①RecylerView封装了viewholder的回收复用,也就是说RecylerView标准化了ViewHolder,编写Adapter面向的是ViewHolder而不再是View了,复用的 逻辑被封装了,写起来更加简单。

②提供了一种插拔式的体验,高度的解耦,异常的灵活,针对一个Item的显示RecylerView专门抽取出了相应的类,来控制Item的显示,使其的扩展性非常强。例如:你想控制横向或者纵向滑动列表效果可以通过LinearLayoutManager这个类来进行控制(与GridView效果对应的是GridLayoutManager,与瀑布流对应的还有StaggeredGridLayoutManager等),也就是说RecylerView不再拘泥于ListView的线性展示方式,它也可以实现GridView的效果等多种效果。你想控制Item的分隔线,可以通过继承RecylerView的ItemDecoration这个类,然后针对自己的业务需求去抒写代码。
共计有三种布局管理器可以设置给recycler使用 Lin饿啊人LayoutManager GrideLayoutManager,StaggeredGridLayoutManager(交错布局—瀑布流:不断寻找布局中的最低点与最窄的地方,然后根据比例缩放图片)
LinearLayoutManager layoutManager = new LinearLayoutManager(this );
//设置布局管理器
recyclerView.setLayoutManager(layoutManager);
//设置为垂直布局,这也是默认的
layoutManager.setOrientation(OrientationHelper. VERTICAL);

③可以控制Item增删的动画,可以通过ItemAnimator这个类进行控制,当然针对增删的动画,RecylerView有其自己默认的实现。mRecyclerView.setItemAnimator(new DefaultItemAnimator());

//代码

recyclerView = (RecyclerView) findViewById(R.id.recyclerView);
LinearLayoutManager layoutManager = new LinearLayoutManager(this );
//设置布局管理器
recyclerView.setLayoutManager(layoutManager);
//设置为垂直布局,这也是默认的
layoutManager.setOrientation(OrientationHelper. VERTICAL);
//设置Adapter
recyclerView.setAdapter( recycleAdapter);
//设置分隔线
recyclerView.addItemDecoration( new DividerGridItemDecoration(this ));
//设置增加或删除条目的动画
recyclerView.setItemAnimator( new DefaultItemAnimator());

//适配器
recyclerView有自己特定的适配器recyclerView.adapter,这是一个抽象类要使用这个类需要去实现它里面方法

 ①onCreateViewHolder()实现了复用--类似于getview
**这个方法主要为每个Item inflater出一个View,但是该方法返回的是一个ViewHolder。该方法把View直接封装在ViewHolder中,然后我们面向的是ViewHolder这个实例,当然这个ViewHolder需要我们自己去编写。直接省去了当初的convertView.setTag(holder)和convertView.getTag()这些繁琐的步骤。**

②onBindViewHolder()–给view指定数据
这个方法主要用于适配渲染数据到View中。方法提供给你了一个viewHolder,而不是原来的convertView。
③getItemCount()
这个方法就类似于BaseAdapter的getCount方法了,即总共有多少个条目。
实例:接着来几个小的实例帮助大家更深入的了解RecyclerView的用法,首先来实现一个最简单的列表,

public class MyRecyclerAdapter extends RecyclerView.Adapter

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

Android编程权威指南(第二版)学习笔记(九)—— 第9章 使用 RecyclerView 显示列表

本章主要讲述了单例模式以及 RecyclerView 的基础使用

【Android学习笔记】Android RecyclerView 使用完全解析 体验艺术般的控件

一、概述RecyclerView出现已经有一段时间了,相信大家肯定不陌生了,大家可以通过导入support-v7对其进行使用。 据官方的介绍,该控件用于在有限的窗口中展示大量数据集,其实这样功能的控件...

Android学习笔记:超能RecyclerView组件使用总结

个人觉得 RecyclerView组件确实值得学习并用到我们的项目中去,前面学了相关的内容,今天再补充一些相关的东东。 1,实现对RecyclerView中的数据进行添加和删除操作,还是一样直接上代...

Android学习笔记:超能RecyclerView组件使用(下)--实现监听事件

RecyclerView确实拥有强大的功能及超级变换能力,可以用极少的代码实现从ListView,GridView及横向滑动的切换,但仍然是有不完美的地方,最显著的就是没有自带的OnitemClick...

Android 笔记 RecyclerView的简单使用

RecyclerView创建列表与卡片 显示一列项目一般会使用基本的ListView或者GridView。后来在supper library里面增加了一个RecyclerView,里面封装了更全面的...

Android学习笔记:超能RecyclerView组件使用(上)

这几天开发中遇到了一些界面滑动问题,主要是界面中滑动控件使用太多,导致滑动冲突。刚好在学习RecyclerView这个控件,所以根据视屏学习情况做个学习笔记 ,当然很多内容都是学习视屏中的,感谢老师的...

【安卓笔记】CardView+RecyclerView使用示例

CardView+RecycleView可以非常方便的实现一个卡片式列表布局,之前编写卡片式布局非常麻烦(地址:http://blog.csdn.net/chdjj/article/details/4...

recyclerView学习笔记

在使用recyclerView结合StaggeredGridLayoutManager实现瀑布流时遇到item间隔不一致的问题。 我的问题出现在onCreateViewHolder中,在创建View...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)