设为首页 加入收藏

TOP

Android开发学习之RecyclerView(一)
2019-09-01 23:14:19 】 浏览:52
Tags:Android 开发 习之 RecyclerView

1、在app/build.gradle中添加RecyclerView依赖

1 implementation 'com.android.support:recyclerview-v7:28.0.0'

注意依赖版本号

2、布局文件activity_main.xml引入RecycleView

1 <android.support.v7.widget.RecyclerView
2         android:id="@+id/recycler_view"
3         android:layout_width="match_parent"
4         android:layout_height="match_parent"></android.support.v7.widget.RecyclerView>

3、泛型类型Fruit.java

 1 package com.example.lalala.recyclerviewdemo;
 2 
 3 public class Fruit {
 4     private String name;
 5     private int imageId;
 6     public Fruit(String name,int imageId){
 7         this.name = name;
 8         this.imageId = imageId;
 9     }
10 
11     public String getName() {
12         return name;
13     }
14 
15     public int getImageId() {
16         return imageId;
17     }
18 }

4、布局fruit_item.xml

 1 <?xml version="1.0" encoding="utf-8"?>
 2 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
 3     android:orientation="horizontal" android:layout_width="match_parent"
 4     android:layout_height="wrap_content">
 5     <ImageView
 6         android:id="@+id/fruit_image"
 7         android:layout_width="wrap_content"
 8         android:layout_height="wrap_content" />
 9     <TextView
10         android:id="@+id/fruit_name"
11         android:layout_width="wrap_content"
12         android:layout_height="wrap_content"
13         android:layout_gravity="center_vertical"
14         android:layout_marginLeft="10dp"
15         />
16 </LinearLayout>

5、适配器FruitAdapter.java

 1 package com.example.lalala.recyclerviewdemo;
 2 
 3 import android.support.annotation.NonNull;
 4 import android.support.v7.widget.RecyclerView;
 5 import android.view.LayoutInflater;
 6 import android.view.View;
 7 import android.view.ViewGroup;
 8 import android.widget.ImageView;
 9 import android.widget.TextView;
10 
11 import java.util.List;
12 
13 public class FruitAdapter extends RecyclerView.Adapter<FruitAdapter.ViewHolder> {
14     //适配器保存的数据
15     private List<Fruit> mFruitList;
16     //view容器类,ViewHolder容纳view
17     static class ViewHolder extends RecyclerView.ViewHolder{
18         ImageView imageView;
19         TextView textView;
20         public ViewHolder(View view){
21             super(view);
22             imageView = (ImageView)view.findViewById(R.id.fruit_image);
23             textView = (TextView)view.findViewById(R.id.fruit_name);
24         }
25     }
26     //构造函数初始化适配器
27     public FruitAdapter(List<Fruit> fruitList){
28         mFruitList = fruitList;
29     }
30     //创建ViewHolder
31     @NonNull
32     @Override
33     public ViewHolder onCreateViewHolder(@NonNull ViewGroup viewGroup, int i) {
34         View view = LayoutInflater.from(viewGroup.getContext()).inflate(R.layout.fruit_item,viewGroup,false);
35         ViewHolder viewHolder = new ViewHolder(view);
36         return viewHolder;
37     }
38     //绑定数据到ViewHolder
39     @Override
40     public void onBindViewHolder(@NonNull ViewHolder viewHolder, int i) {
41         Fruit fruit = mFruitList.get(i);
42         viewHolder.imageView.setImageResource(fruit.getImageId());
43         viewHolder.textView.setText(fruit.getName());
44     }
45     //返回子项个数
46     @Override
47     public int getItemCount() {
48         return mFruitList.size();
49     }
50 }
首页 上一页 1 2 下一页 尾页 1/2/2
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇Android程序backtrace分析方法 下一篇SVN上传的时候没法显示文件名,只..

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目