RecyclerView简单的实例
来源:互联网 发布:网络的利与弊作文800 编辑:程序博客网 时间:2024/06/05 09:42
温故而知新,献上一段郭神的RecyclerView供大家参考
一个Fruit
public class Fruit { private String name; public Fruit(String name) { this.name = name; } public String getName() { return name; }
Fruit的布局文件
<?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"><TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/fruit_name" android:gravity="center_vertical" android:layout_marginLeft="10dp"/></LinearLayout>
一个FruitAdapter
import android.support.v7.widget.RecyclerView;import android.view.LayoutInflater;import android.view.View;import android.view.ViewGroup;import android.widget.TextView;import java.util.List;/** * Created by Dam on 2017/9/19. */public class FruitAdapter extends RecyclerView.Adapter<FruitAdapter.ViewHolder> { private List<Fruit> mFruitList; static class ViewHolder extends RecyclerView.ViewHolder { TextView fruitName; public ViewHolder(View view) { //参数view为RecycleView子项的最外层布局,可以从findviewbyid获取布局中的TextView实例 super(view); fruitName = (TextView)view.findViewById(R.id.fruit_name); } } public FruitAdapter(List<Fruit> fruitList) { //把要展示的数据源传进来并赋值给全局变量mFruitList mFruitList = fruitList; } @Override //用于创建ViewHolder实例 public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.fruit_item, parent, false);//将布局加载进来传入构造函数,创建ViewHolder实例 ViewHolder holder = new ViewHolder(view); return holder; //将ViewHolder实例返回 } @Override //用于对RecyclerView子项的数据进行赋值,在每个子项被滚动到屏幕内时执行 public void onBindViewHolder(ViewHolder holder, int position) { Fruit fruit = mFruitList.get(position); //通过position得到当前项的Fruit实例 holder.fruitName.setText(fruit.getName()); //将数据设置到ViewHolder的TextView中 } @Override public int getItemCount() { //告诉RecyclerView有多少子项,直接返回数据源长度 return mFruitList.size(); }}
activity_main
<?xml version="1.0" encoding="utf-8"?><android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context="com.inclub.demo916.MainActivity"><android.support.v7.widget.RecyclerView android:layout_width="match_parent" android:layout_height="match_parent" android:id="@+id/recyclerview"></android.support.v7.widget.RecyclerView></android.support.constraint.ConstraintLayout>
MainAcitivity
import android.os.Bundle;import android.support.v7.app.AppCompatActivity;import android.support.v7.widget.LinearLayoutManager;import android.support.v7.widget.RecyclerView;import java.util.ArrayList;import java.util.List;public class MainActivity extends AppCompatActivity { private List<Fruit> fruitList = new ArrayList<>(); @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); initFruits(); //初始化水果数据 RecyclerView recyclerView = (RecyclerView) findViewById(R.id.recyclerview);//获取RecyclerView实例 LinearLayoutManager manager = new LinearLayoutManager(this); //LayoutManager用于指定RecyclerView布局(此处使用LinerlayoutManager,实现与ListView类似的效果 recyclerView.setLayoutManager(manager); //将LayoutManager设置到RecyclerView中 FruitAdapter adapter = new FruitAdapter(fruitList); //将水果数据传入到FruitAdapter的构造函数中 recyclerView.setAdapter(adapter); //完成适配器设置 } private void initFruits() { for (int i = 0; i < 2; i++) { Fruit apple0 = new Fruit("apple0"); fruitList.add(apple0); Fruit apple1 = new Fruit("apple1"); fruitList.add(apple1); Fruit apple2 = new Fruit("apple2"); fruitList.add(apple2); Fruit apple3 = new Fruit("apple3"); fruitList.add(apple3); Fruit apple4 = new Fruit("apple4"); fruitList.add(apple4); Fruit apple5 = new Fruit("apple5"); fruitList.add(apple5); Fruit apple6 = new Fruit("apple6"); fruitList.add(apple6); } }}
阅读全文
0 0
- RecyclerView简单的实例
- RecyclerView的简单使用
- RecyclerView 的简单使用
- recyclerview的简单使用
- Recyclerview的简单使用
- RecyclerView的简单使用
- RecyclerView的简单用法
- RecyclerView的简单使用
- RecyclerView的简单使用
- RecyclerView的简单介绍
- RecyclerView的简单使用
- RecyclerView的简单使用
- RecyclerView的简单使用
- RecyclerView的简单使用
- RecyclerView的简单使用
- RecyclerView的简单使用
- RecyclerView 的简单使用方法
- RecyclerView 的简单封装
- 如何判断一个对象为数组
- Entity Framework返回IEnumerable还是IQueryable?
- Sleep实现
- linux centos7之后关闭防火墙方法改变。
- js函数中参数的传递
- RecyclerView简单的实例
- JSP的生命周期和工作原理
- 数据库语言
- scala 样本类 Case Classes
- idea快速创建maven集成spring-boot项目
- 上海合米金服金融诈骗,19号人去楼空
- linux安装
- 远离“数据呆” 对业务的理解和思考永远高于分析技术的选择
- 唐骏:邀您一同踏上西美创新科技之路