Android RecyclerView的简单使用

发布时间 - 2026-01-10 23:24:43    点击率:

本文实例为大家分享了Android RecyclerView使用的具体代码,供大家参考,具体内容如下

package com.itheima74.recyclerview; 
 
import android.os.Bundle; 
import android.support.v7.app.AppCompatActivity; 
import android.support.v7.widget.GridLayoutManager; 
import android.support.v7.widget.RecyclerView; 
import android.view.View; 
import android.view.ViewGroup; 
import android.widget.ImageView; 
import android.widget.TextView; 
 
import java.util.ArrayList; 
 
/** 
 * RecyclerView 
 * 1.增强版的listview 
 * 2.官方推荐 
 * 3.使用步骤: 
 * a.build.gradle文件中添加依赖compile 'com.android.support:recyclerview-v7:25.2.0' 
 * b.xml布局中引入,注意完整包名+类名 
 * c.具体见代码 
 */ 
public class MainActivity extends AppCompatActivity { 
 
 ArrayList<Fruit> mFruitList; 
 private RecyclerView recyclerview; 
 
 @Override 
 protected void onCreate(Bundle savedInstanceState) { 
 super.onCreate(savedInstanceState); 
 setContentView(R.layout.activity_main); 
 
 initView(); 
 initData(); 
 initAdapter(); 
 } 
 
 /** 
 * 初始化数据适配器 
 */ 
 private void initAdapter() { 
 recyclerview.setAdapter(new FruitAdapter()); 
 } 
 
 /** 
 * 初始化控件 
 */ 
 private void initView() { 
 recyclerview = (RecyclerView) findViewById(R.id.recyclerview); 
 
 // 设置为LinearLayoutManager布局方式,线性布局 
 // LinearLayoutManager layoutManager = new LinearLayoutManager(this); 
 // 两种方式,水平或垂直排布,默认垂直排布 
 // layoutManager.setOrientation(LinearLayoutManager.HORIZONTAL); 
 // recyclerview.setLayoutManager(layoutManager); 
 
 // 设置为GridLayoutManager布局方式,3列排布 
 GridLayoutManager gridLayoutManager = new GridLayoutManager(this,3); 
 recyclerview.setLayoutManager(gridLayoutManager); 
 } 
 
 /** 
 * 初始化数据,水果集合 
 */ 
 private void initData() { 
 mFruitList = new ArrayList<>(); 
 mFruitList.add(new Fruit("apple", R.drawable.apple_pic)); 
 mFruitList.add(new Fruit("banana", R.drawable.banana_pic)); 
 mFruitList.add(new Fruit("cherry", R.drawable.cherry_pic)); 
 mFruitList.add(new Fruit("grape", R.drawable.grape_pic)); 
 mFruitList.add(new Fruit("mango", R.drawable.mango_pic)); 
 mFruitList.add(new Fruit("orange", R.drawable.orange_pic)); 
 mFruitList.add(new Fruit("pear", R.drawable.pear_pic)); 
 mFruitList.add(new Fruit("pineapple", R.drawable.pineapple_pic)); 
 mFruitList.add(new Fruit("strawberry", R.drawable.strawberry_pic)); 
 mFruitList.add(new Fruit("watermelon", R.drawable.watermelon_pic)); 
 } 
 
 class FruitAdapter extends RecyclerView.Adapter<ViewHolder> { 
 
 // 返回ViewHolder对象 
 @Override 
 public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { 
 return new ViewHolder(View.inflate(getApplicationContext(), R.layout.listview_item, null)); 
 } 
 
 // 刷新界面,为ViewHolder两个属性设置内容 
 @Override 
 public void onBindViewHolder(ViewHolder holder, int position) { 
 Fruit fruit = mFruitList.get(position); 
 holder.iv.setImageResource(fruit.imageId); 
 holder.tv.setText(fruit.name); 
 } 
 
 @Override 
 public int getItemCount() { 
 // FruitAdapter是MainActivity的内部类,可以直接使用外部类的成员变量 
 return mFruitList.size(); 
 } 
 } 
 
 static class ViewHolder extends RecyclerView.ViewHolder { 
 ImageView iv; 
 TextView tv; 
 
 ViewHolder(View itemView) { 
 super(itemView); 
 iv = (ImageView) itemView.findViewById(R.id.iv); 
 tv = (TextView) itemView.findViewById(R.id.tv); 
 } 
 } 
 
 
} 

package com.itheima74.recyclerview; 
 
/** 
 * Created by My on 2017/3/2. 
 */ 
 
class Fruit { 
 String name; 
 int imageId; 
 
 Fruit(String name, int imageId) { 
 this.name = name; 
 this.imageId = imageId; 
 } 
} 

复制代码 代码如下:<img src="http://img.blog.csdn.net/20170303085928987?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvemh1NjIwMTk3Ng==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt=""> 

效果图:

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。


# Android  # RecyclerView  # Android ExpandableRecyclerView使用方法详解  # Android使用Recyclerview实现图片水平自动循环滚动效果  # Android RecyclerView使用方法详解  # Android使用RecyclerView实现今日头条频道管理功能  # Android使用RecyclerView实现列表数据选择操作  # Android使用分类型RecyclerView仿各大商城首页  # android使用ItemDecoration给RecyclerView 添加水印  # Android如何使用RecyclerView打造首页轮播图  # Android RecyclerView基本使用详解  # RecyclerView的简单使用  # 设置为  # 两种  # 可以直接  # 大家分享  # 增强版  # 具体内容  # 大家多多  # Override  # protected  # mFruitList  # private  # savedInstanceState  # super  # void  # onCreate  # gt  # xml  # public  # compile  # lt 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: 谷歌浏览器如何更改浏览器主题 Google Chrome主题设置教程  公司网站制作需要多少钱,找人做公司网站需要多少钱?  通义万相免费版怎么用_通义万相免费版使用方法详细指南【教程】  广州网站制作公司哪家好一点,广州欧莱雅百库网络科技有限公司官网?  百度输入法ai组件怎么删除 百度输入法ai组件移除工具  英语简历制作免费网站推荐,如何将简历翻译成英文?  如何快速登录WAP自助建站平台?  详解ASP.NET 生成二维码实例(采用ThoughtWorks.QRCode和QrCode.Net两种方式)  DeepSeek是免费使用的吗 DeepSeek收费模式与Pro版本功能详解  宙斯浏览器文件分类查看教程 快速筛选视频文档与图片方法  WordPress 子目录安装中正确处理脚本路径的完整指南  如何注册花生壳免费域名并搭建个人网站?  Laravel Seeder怎么填充数据_Laravel数据库填充器的使用方法与技巧  Laravel如何部署到服务器_线上部署Laravel项目的完整流程与步骤  Android okhttputils现在进度显示实例代码  头像制作网站在线观看,除了站酷,还有哪些比较好的设计网站?  jimdo怎样用html5做选项卡_jimdo选项卡html5实现与切换效果【指南】  Laravel怎么进行浏览器测试_Laravel Dusk自动化浏览器测试入门  Laravel中间件起什么作用_Laravel Middleware请求生命周期与自定义详解  Laravel怎么实现观察者模式Observer_Laravel模型事件监听与解耦开发【指南】  Claude怎样写约束型提示词_Claude约束提示词写法【教程】  Android使用GridView实现日历的简单功能  HTML透明颜色代码怎么让图片透明_给img元素加透明色的技巧【方法】  矢量图网站制作软件,用千图网的一张矢量图做公司app首页,该网站并未说明版权等问题,这样做算不算侵权?应该如何解决?  如何在阿里云ECS服务器部署织梦CMS网站?  使用PHP下载CSS文件中的所有图片【几行代码即可实现】  利用python获取某年中每个月的第一天和最后一天  nodejs redis 发布订阅机制封装实现方法及实例代码  Linux系统命令中screen命令详解  香港服务器网站卡顿?如何解决网络延迟与负载问题?  js代码实现下拉菜单【推荐】  Laravel怎么为数据库表字段添加索引以优化查询  千库网官网入口推荐 千库网设计创意平台入口  Linux虚拟化技术教程_KVMQEMU虚拟机安装与调优  Laravel如何连接多个数据库_Laravel多数据库连接配置与切换教程  Laravel如何实现用户角色和权限系统_Laravel角色权限管理机制  java获取注册ip实例  千问怎样用提示词获取健康建议_千问健康类提示词注意事项【指南】  JavaScript中如何操作剪贴板_ClipboardAPI怎么用  Win11怎么查看显卡温度 Win11任务管理器查看GPU温度【技巧】  如何在Windows服务器上快速搭建网站?  图片制作网站免费软件,有没有免费的网站或软件可以将图片批量转为A4大小的pdf?  香港服务器租用每月最低只需15元?  Laravel观察者模式如何使用_Laravel Model Observer配置  Firefox Developer Edition开发者版本入口  如何确保FTP站点访问权限与数据传输安全?  如何快速完成中国万网建站详细流程?  简单实现jsp分页  用yum安装MySQLdb模块的步骤方法  Laravel路由Route怎么设置_Laravel基础路由定义与参数传递规则【详解】