recyclerView的学习笔记

前言:
列表展示在项目实战中一直都是很重要的部分,以前用ListView实现优化展示,实现起来代码很多,现在谷歌处理RecyclerView来代替ListView,我们来学习下。

学习:
对于组件的学习,我觉得,最好的方式就是写,那么,我们开始使用recyclerView

首先,我们需要导入它的依赖
Recycleview
compile 'com.android.support:recyclerview-v7:22.2.0'

在activity布局文件中的使用:
每个item的布局:

在MainActivity.java中

这里,我们需要解释的是 LinearLayoutManager , 这个是用于指示RecyclerView的布局方式的,这里我们用的是线性的布局,接着我们来看它的适配器的实现


这里面的几个方法大家应该很熟悉。首先,我们看到,它继承的是RecyclerView的Adapter类,而且还要指定一个泛型,这个泛型就是listview里面的Viewholder,然后,我们看到第一个 onCreateViewHolder ()方法
我们可以看到,它返回的是一个Fruit.ViewHolder的类,那么,这个在哪里呢?还记上面的泛型吗?没错。就是返回的它,那么这个泛型在哪呢?我们看到最下面的ViewHolder,它继承自RecyclerView的Viewholder,没错,RecyclerView已经帮我们中间过程写好了。可以看到:
这个,我们每个显示的item的View就写好了,我们看另外的两个方法
getItemCount():得到需要显示的数目
onBindViewHolder():显示的内容
这样,我们RecyclerView的适配器就写好了,那我们接着看
getData():得到需要显示的数据(这里用本地的数据)
我们的实体类为:
这样,我们就写完了这个初级的RecyclerView的入门demo.运行截图为:
有人会问,这个和Listview有啥区别吗?就是代码少点,那我们接着来看:先想一个问题,如果用listview去实现横着的列表呢?是不是臣妾做不到啊,那么,我们来看下RecyclerView是怎么实现的。

既然要横着显示,当然不能让item这么显示,所以,我们得改变下item的布局:

然后,我们需要去控制它的排序方式,还记得用哪个控制吗?没错,我们只需要把 LinearLayoutManager 设置为水平即可(默认为竖直)

这样,我们就实现了水平的列表,运行看看
看吧,实现起来是不是特别简单。

当然,除了LinearLayout,它还有GridLayoutManager和StaggeredGridLayoutManager这两种内置的排列方式,GridLayoutManager可以实现表格类型的,而StaggeredGridLayoutManager可以实现瀑布流排序,听起来是不是很厉害,那我们就去实现它吧

同样,我们首先去修改item的布局文件
接着,我们来看下mainActivity里面的改动:

这样,我们就改完了,是不是很快,我们来看下运行结果;

是不是很厉害呀,不过,现在只是展示内容,那么它的点击事件咧?

它的点击事件并没有类似于ListView的onitemclicklistener这类的方法,它需要在适配器中,针对View来实现它的点击事件。如其中的图片,整个View等。

运行一下:

那么,RecyclerView的基础我们学习完了,







猜你喜欢

转载自blog.csdn.net/full_stack_developer/article/details/80317464