RecycleView 的使用

本文介绍如何使用Android中的RecycleView控件替代ListView,包括导入包、创建对象、配置布局管理器及自定义适配器等步骤。RecycleView在性能和效果上进行了优化。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

RecycleView是v7中的一个强大的控件,它可以替代ListView,在效果、性能上面更进一步做了优化。下面就让我们看看RecycleView的使用方法。

1、首先新建一个工程,和平时开发一样。
2、导入RecycleView所在的包,如图:
file--> project structure-->Dependencies-->右边的+号-->Libray dependency-->选择RecycleView所在的包就OK了







到此,布局文件中RecycleView已经准备好了,其实开始和listview差不了多少

3、创建对象
这里必须注意一点,和listview的区别是,RecycleView必须在设置适配器之前,为它设置布局管理器,对于布局管理器的作用可以点击这里进行学习。

recyclerView.setLayoutManager(new StaggeredGridLayoutManager(2,StaggeredGridLayoutManager.VERTICAL));

myAdapter=new MyAdapter();

4、创建适配器(这和ListView有很大区别)

区别:ListView在设置适配器的时候,继承BaseAdapter,并且为了性能优化,必须自定义ViewHolder,而RecycleView则不需要。对于RecycleView的适配器,官方直接将ViewHolder封装了起来。下面看看代码就明白怎么回事了。
class MyAdapter extends RecyclerView.Adapter<MyAdapter.MyViewHolder>{
//继承RecycleView.Adapter,其中后面是RecyclerView.ViewHolder类型的类。因此,我们就要定义一个继承RecyclerView.ViewHolder类的类作为这个泛型。

/*适配器中有三个需要重写的方法
1、onCreateViewHolder(),这个方法类似BaseAdapter中的getView()方法,不过返回的是一个ViewHolder。
        2、onBindViewHolder(),这个方法就是讲ViewHolder绑定起来,通过holder来获取holder中的参数
        3、getItemCount(),这个方法和BaseAdapter中的getCount一样。

**/
@Override
public MyViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {

View view= LayoutInflater.
from(RecycleViewAty.this).inflate(R.layout.recycleview_layout_item,parent,false);
        MyViewHolder myViewHolder=new MyViewHolder(view);
return myViewHolder;
}

@Override
public void onBindViewHolder(MyViewHolder holder, int position) {

}

@Override
public int getItemCount() {
return 11;
}

class MyViewHolder extends RecyclerView.ViewHolder{

public MyViewHolder(View itemView) {
super(itemView);

}

}

}

4、设置适配器
recyclerView.setAdapter(myAdapter);


总结:基本的RecycleView使用就是这个了,大家可能会觉得这个和ListView没有什么区别呀?效果和ListView一样的呀?
这么想,那你就错了,这只是最基本的使用了。对于RecycleView的使用,还有更精彩的部分呢。下面是RecycleView和其他控件的配合使用,可以看一下效果:




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值