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 】
相关推荐:
如何在香港免费服务器上快速搭建网站?
Laravel如何与Pusher实现实时通信?(WebSocket示例)
如何在建站宝盒中设置产品搜索功能?
Laravel安装步骤详细教程_Laravel环境搭建指南
使用PHP下载CSS文件中的所有图片【几行代码即可实现】
Laravel怎么生成URL_Laravel路由命名与URL生成函数详解
详解ASP.NET 生成二维码实例(采用ThoughtWorks.QRCode和QrCode.Net两种方式)
如何在阿里云高效完成企业建站全流程?
安克发布新款氮化镓充电宝:体积缩小 30%,支持 200W 输出
Laravel中间件起什么作用_Laravel Middleware请求生命周期与自定义详解
PHP正则匹配日期和时间(时间戳转换)的实例代码
Win11怎样安装网易有道词典_Win11安装词典教程【步骤】
如何确保FTP站点访问权限与数据传输安全?
如何将凡科建站内容保存为本地文件?
C#如何调用原生C++ COM对象详解
做企业网站制作流程,企业网站制作基本流程有哪些?
Windows驱动无法加载错误解决方法_驱动签名验证失败处理步骤
Laravel项目结构怎么组织_大型Laravel应用的最佳目录结构实践
Laravel怎么实现一对多关联查询_Laravel Eloquent模型关系定义与预加载【实战】
使用spring连接及操作mongodb3.0实例
Laravel如何与Docker(Sail)协同开发?(环境搭建教程)
HTML5打空格有哪些误区_新手常犯的空格使用错误【技巧】
Gemini怎么用新功能实时问答_Gemini实时问答使用【步骤】
高端建站三要素:定制模板、企业官网与响应式设计优化
js实现获取鼠标当前的位置
Laravel怎么进行数据库回滚_Laravel Migration数据库版本控制与回滚操作
JavaScript如何实现错误处理_try...catch如何捕获异常?
标题:Vue + Vuex + JWT 身份认证的正确实践与常见误区解析
东莞专业网站制作公司有哪些,东莞招聘网站哪个好?
如何快速生成ASP一键建站模板并优化安全性?
如何在IIS管理器中快速创建并配置网站?
Python数据仓库与ETL构建实战_Airflow调度流程详解
如何确保西部建站助手FTP传输的安全性?
ai格式如何转html_将AI设计稿转换为HTML页面流程【页面】
香港服务器选型指南:免备案配置与高效建站方案解析
如何在新浪SAE免费搭建个人博客?
Laravel如何使用Eloquent ORM进行数据库操作?(CRUD示例)
Laravel怎么解决跨域问题_Laravel配置CORS跨域访问
Laravel如何实现数据库事务?(DB Facade示例)
Laravel怎么连接多个数据库_Laravel多数据库连接配置
制作网站软件推荐手机版,如何制作属于自己的手机网站app应用?
Bootstrap CSS布局之列表
Laravel如何实现API版本控制_Laravel API版本化路由设计策略
Laravel如何处理异常和错误?(Handler示例)
Win11怎么设置默认图片查看器_Windows11照片应用关联设置
Laravel怎么做缓存_Laravel Cache系统提升应用速度的策略与技巧
网易LOFTER官网链接 老福特网页版登录地址
在线制作视频网站免费,都有哪些好的动漫网站?
小视频制作网站有哪些,有什么看国内小视频的网站,求推荐?
今日头条AI怎样推荐抢票工具_今日头条AI抢票工具推荐算法与筛选【技巧】

