android RecycleView的使用

来源:互联网 发布:彩虹跳转源码 编辑:程序博客网 时间:2024/06/05 15:08

最近在开发项目时,使用到了RecycleView,感受到了它的强大功能,因此,想写篇博客来与大家分享!

首先,我想说其实Recycleview实现的功能使用ListView和GridView其实也可以实现,但是的确Recycleview方便不少,想来也是google封装的更好了。

先讲一讲怎样在android studio中使用RecycleView,首先必须使用com.android.support:recycleview-v7包,而且必须和项目中的v4包要一个版本,否则会引起jar包冲突。

当导入成功后,你就可以使用RecycleView了,其实RecycleView的用法与ListView的用法有相似,你可以在xml文件中布局,然后使用findViewById方法找到,再设置适配器就可以了,大体步骤都是这样,不过中间的细节会有不同。

其中RecycleView的适配器设置是比较不同的,它的适配器继承的是RecycleView.Adapter,其中一般需要实现的方法是 onCreateViewHolder(),onBindViewHolder(),getItemViewType(),getItemCount(),其中后两个方法我们在ListView中也见过,如果在ListView中需要多种类型的Item的话,则需要设置这个getItemViewType()方法,onCreateViewHolder()方法则是返回一个ViewHolder,这个ViewHolder相当于ListView中的getView()的view,在ListView中我们如果要实现对Item的复用,都需要使用ViewHolder,所以Google直接就给你封装好了,直接返回一个ViewHolder,你可以为你的子Item单独建一个ViewHolder,注意,它需要继承RecycleView.ViewHolder,在你自己的ViewHolder设置子Item的页面;还有就是onBindViewHolder()这个方法主要是给子Item设置数据使用的,说到这里,我就想起我之前写过一份博客,是对ListView中的ViewHolder的封装,正好和Google的RecycleView的设计思想不谋而合,现在想想,之前要知晓有这个RecycleView,就可以省下大把的麻烦。

其实封装的目的大多是为了解耦,RecycleView就实现了高度的解耦,RecycleView只管回收和复用View,至于View是怎样的,怎样布局的问题都是由你自己决定,这是与ListView的真正的不同之处,也是它的灵活的基础。

原创粉丝点击