RecyclerView的功能很强大,本文为大家分享RecyclerView的简单使用方法。

效果图:
activity_main.xml:
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="match_parent" android:layout_height="match_parent"> <android.support.v7.widget.RecyclerView android:id="@+id/recycler_view" android:layout_width="match_parent" android:layout_height="match_parent"/> </LinearLayout>
fruit_item.xml:
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_margin="5dp"> <ImageView android:id="@+id/fruit_image" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center_horizontal"/> <TextView android:id="@+id/fruit_name" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="left" android:layout_marginTop="10dp"/> </LinearLayout>
Fruit实体类:
public class Fruit {
private String name;
private int imageId;
public Fruit(String name, int imageId) {
this.name = name;
this.imageId = imageId;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getImageId() {
return imageId;
}
public void setImageId(int imageId) {
this.imageId = imageId;
}
}
FruitAdapter:
public class FruitAdapter extends RecyclerView.Adapter<FruitAdapter.ViewHolder> {
private List<Fruit> mFruitList;
static class ViewHolder extends RecyclerView.ViewHolder{
ImageView fruitImage;
TextView fruitName;
public ViewHolder(View view){
super(view);
fruitImage = view.findViewById(R.id.fruit_image);
fruitName = view.findViewById(R.id.fruit_name);
}
}
public FruitAdapter(List<Fruit> fruitList){
mFruitList = fruitList;
}
@Override
public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View view = LayoutInflater.from(parent.getContext()).inflate(
R.layout.fruit_item,parent,false);
final ViewHolder holder = new ViewHolder(view);
holder.fruitImage.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Fruit fruit = mFruitList.get(holder.getAdapterPosition());
Toast.makeText(view.getContext(),"you clicked view "+fruit.getName(),Toast.LENGTH_SHORT).show();
}
});
return holder;
}
@Override
public void onBindViewHolder(ViewHolder holder, int position) {
Fruit fruit = mFruitList.get(position);
holder.fruitImage.setImageResource(fruit.getImageId());
holder.fruitName.setText(fruit.getName());
}
@Override
public int getItemCount() {
return mFruitList.size();
}
}
MainActivity:
public class MainActivity extends AppCompatActivity {
List<Fruit> fruitList = new ArrayList<>();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
initFruit();
RecyclerView recyclerView = (RecyclerView) findViewById(R.id.recycler_view);
StaggeredGridLayoutManager manager = new StaggeredGridLayoutManager(3,
StaggeredGridLayoutManager.VERTICAL);
recyclerView.setLayoutManager(manager);
FruitAdapter adapter = new FruitAdapter(fruitList);
recyclerView.setAdapter(adapter);
}
public void initFruit(){
for (int i = 0; i < 2; i++) {
Fruit apple = new Fruit(getRandomLengthName("Apple"), R.drawable.apple_pic);
fruitList.add(apple);
Fruit banana = new Fruit(getRandomLengthName("Banana"), R.drawable.banana_pic);
fruitList.add(banana);
Fruit orange = new Fruit(getRandomLengthName("Orange"), R.drawable.orange_pic);
fruitList.add(orange);
Fruit watermelon = new Fruit(getRandomLengthName("Watermelon"), R.drawable.watermelon_pic);
fruitList.add(watermelon);
Fruit pear = new Fruit(getRandomLengthName("Pear"), R.drawable.pear_pic);
fruitList.add(pear);
Fruit grape = new Fruit(getRandomLengthName("Grape"), R.drawable.grape_pic);
fruitList.add(grape);
Fruit pineapple = new Fruit(getRandomLengthName("Pineapple"), R.drawable.pineapple_pic);
fruitList.add(pineapple);
Fruit strawberry = new Fruit(getRandomLengthName("Strawberry"), R.drawable.strawberry_pic);
fruitList.add(strawberry);
Fruit cherry = new Fruit(getRandomLengthName("Cherry"), R.drawable.cherry_pic);
fruitList.add(cherry);
Fruit mango = new Fruit(getRandomLengthName("Mango"), R.drawable.mango_pic);
fruitList.add(mango);
}
}
public String getRandomLengthName(String name){
Random random = new Random();
int length = random.nextInt(20)+1;
StringBuilder builder = new StringBuilder();
for(int i = 0; i < length; i++){
builder.append(name);
}
return builder.toString();
}
}
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
# RecyclerView
# 使用
# Android ExpandableRecyclerView使用方法详解
# Android使用Recyclerview实现图片水平自动循环滚动效果
# Android RecyclerView使用方法详解
# Android使用RecyclerView实现今日头条频道管理功能
# Android使用RecyclerView实现列表数据选择操作
# Android RecyclerView的简单使用
# Android使用分类型RecyclerView仿各大商城首页
# android使用ItemDecoration给RecyclerView 添加水印
# Android如何使用RecyclerView打造首页轮播图
# Android RecyclerView基本使用详解
# 大家分享
# 大家多多
# 很强大
# 实体类
# String
# int
# public
# private
# imageId
# void
# setName
# getName
# return
# fruit_name
# left
# center_horizontal
# TextView
# layout_marginTop
# layout_gravity
# java
相关文章:
建站主机CVM配置优化、SEO策略与性能提升指南
宝塔面板创建网站无法访问?如何快速排查修复?
如何在云服务器上快速搭建个人网站?
宁波免费建站如何选择可靠模板与平台?
天河区网站制作公司,广州天河区如何办理身份证?需要什么资料有预约的网站吗?
如何在Golang中使用replace替换模块_指定本地或远程路径
制作假网页,招聘网的薪资待遇,会有靠谱的吗?一面试又各种折扣?
C++如何将C风格字符串(char*)转换为std::string?(代码示例)
在线制作视频网站免费,都有哪些好的动漫网站?
网站制作报价单模板图片,小松挖机官方网站报价?
极客网站有哪些,DoNews、36氪、爱范儿、虎嗅、雷锋网、极客公园这些互联网媒体网站有什么差异?
北京网站制作费用多少,建立一个公司网站的费用.有哪些部分,分别要多少钱?
制作网站怎么制作,*游戏网站怎么搭建?
成都网站制作公司哪家好,四川省职工服务网是做什么用?
如何快速重置建站主机并恢复默认配置?
网站建设设计制作营销公司南阳,如何策划设计和建设网站?
c++怎么用jemalloc c++替换默认内存分配器【性能】
七夕网站制作视频,七夕大促活动怎么报名?
高防服务器租用如何选择配置与防御等级?
外贸公司网站制作,外贸网站建设一般有哪些步骤?
建站主机选购指南:核心配置与性价比推荐解析
如何高效完成自助建站业务培训?
建站之星logo尺寸如何设置最合适?
Avalonia如何实现跨窗口通信 Avalonia窗口间数据传递
如何获取开源自助建站系统免费下载链接?
大连网站制作费用,大连新青年网站,五年四班里的视频怎样下载啊?
韩国网站服务器搭建指南:VPS选购、域名解析与DNS配置推荐
可靠的网站设计制作软件,做网站设计需要什么样的电脑配置?
建站之星北京办公室:智能建站系统与小程序生成方案解析
c# Task.Yield 的作用是什么 它和Task.Delay(1)有区别吗
广州商城建站系统开发成本与周期如何控制?
新网站制作渠道有哪些,跪求一个无线渠道比较强的小说网站,我要发表小说?
网站企业制作流程,用什么语言做企业网站比较好?
云南网站制作公司有哪些,云南最好的招聘网站是哪个?
广州顶尖建站服务:企业官网建设与SEO优化一体化方案
定制建站流程步骤详解:一站式方案设计与开发指南
如何选择PHP开源工具快速搭建网站?
如何快速上传建站程序避免常见错误?
香港服务器租用费用高吗?如何避免常见误区?
公司网站制作费用多少,为公司建立一个网站需要哪些费用?
电商平台网站制作流程,电商网站如何制作?
logo在线制作免费网站在线制作好吗,DW网页制作时,如何在网页标题前加上logo?
seo网站制作优化,网站SEO优化步骤有哪些?
如何在云指建站中生成FTP站点?
Swift开发中switch语句值绑定模式
头像制作网站在线制作软件,dw网页背景图像怎么设置?
公司网站的制作公司,企业网站制作基本流程有哪些?
大型企业网站制作流程,做网站需要注册公司吗?
代购小票制作网站有哪些,购物小票的简要说明?
c++23 std::expected怎么用 c++优雅处理函数错误返回【详解】
*请认真填写需求信息,我们会在24小时内与您取得联系。