Android项目怎么使用RecyclerView实现一个点击事件-创新互联

这篇文章给大家介绍Android 项目怎么使用RecyclerView实现一个点击事件,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。

成都创新互联公司主营加查网站建设的网络公司,主营网站建设方案,重庆APP开发公司,加查h5微信平台小程序开发搭建,加查网站营销推广欢迎加查等地区企业咨询

一、概述

随着Android L版本的发布,RecyclerView已经逐渐地取代了ListView,用来显示较多的数据集,RecyclerView相比ListView在性能上有了大幅度的提升,可以说RecyclerView是AbsListView的升级版本。RecyclerView自带了ViewHolder使用,与ListView缓存convertView不同的是,RecyclerView缓存的是ViewHolder,操作对象也是ViewHolder。虽然ListView也带有缓存convertView的功能,但是当使用ListView时,显示、缓存、回收、布局等都是耦合在一起的;而RecyclerView对其进行了解耦,操作更灵活,使得开发者可以更好的自定义各种各样的效果,另外RecyclerView假如了局部刷新。关系如下图所示:

Android 项目怎么使用RecyclerView实现一个点击事件

二、基本使用

RecyclerView提供了下面几种角色
1.RecyclerView.Adapter    适配器
2.RecyclerView.LayoutManager  布局器,用于管理布局显示,官方提供以下几种方式

LinearLayoutManager   显示垂直或水平滚动的列表项
GridLayoutManager      以网格方式显示
StaggeredGridLayoutManager   以交错网格显示

同时,开发者也可以自定义LayoutManager,继承RecyclerView.LayoutManager。

3.Recycler.ItemDecoration 每个item附加的子视图,可用来绘制Divider,设置padding等
4.RecyclerView.ItemAnimator 负责添加、删除数据时的动画效果

具体的使用方法见 官方文档

项目中使用

Activity中

protected void onCreate(Bundle savedInstanceState) { 
  super.onCreate(savedInstanceState); 
  setContentView(R.layout.activity_main); 
 
  initView(); 
 } 
 
 private void initView() { 
  recyclerView = (RecyclerView) findViewById(R.id.rv); 
  // use this setting to improve performance if you know that changes 
  // in content do not change the layout size of the RecyclerView 
  recyclerView.setHasFixedSize(true); 
  // use a linear layout manager 
  LinearLayoutManager ll = new LinearLayoutManager(this); 
  recyclerView.setLayoutManager(ll); 
  initializeData(); 
  recyclerAdapter = new RecyclerAdapter(persons); 
  recyclerView.setAdapter(recyclerAdapter); 
 
 } 
 
 
 private void initializeData(){ 
  persons = new ArrayList<>(); 
  persons.add(new Person("Emma Wilson", "23 years old", R.mipmap.ic_launcher)); 
  persons.add(new Person("Lavery Maiss", "25 years old", R.mipmap.ic_launcher)); 
  persons.add(new Person("Lillie Watts", "35 years old", R.mipmap.ic_launcher)); 
 } 

网站栏目:Android项目怎么使用RecyclerView实现一个点击事件-创新互联
标题路径:http://myzitong.com/article/copipd.html