Android学习|布局列表——RecyclerView

一、前提

RecyclerView效果和 ListView 效果接近,只是RecyclerView更灵活,效果更多。


RecyclerView需要先导入依赖包才能进行使用,类似导入jar
导包:src下面的 bulid.gradle中添加

dependencies { implementation
‘androidx.recyclerview:recyclerview:1.1.0’
}

原项目有导包过程,所以只添加 implementation ‘androidx.recyclerview:recyclerview:1.1.0’
请添加图片描述
第一个大象点击下载包
请添加图片描述


二、实现RecyclerView效果

RecyclerView设置与ListView基本相同,但是在Myadapter和布局管理器方面有些不同。

1、自定义的MyAdapter类

          RecyclerView 的自定义Adapter继承   RecyclerView.Adapter  <VH extends ViewHolder》

          VH 是内部类,继承 ViewHolder,类似ListView里边封装的保存Item里边组件的内部类,并且也避免了像ListView没设置的话,重复的进行findViewById()

package com.example.senconddemo_recyclerview;

import android.content.Context;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;

import androidx.annotation.NonNull;
import androidx.recyclerview.widget.RecyclerView;

import java.util.List;

/*RecyclerView的自定义Adapter继承  RecyclerView.Adapter<VH  extends ViewHolder>
   VH 个内部类,继承 ViewHolder,类似ListView里边封装的保存Item里边组件的内部类,并且也避免了像ListView没设置的话,重复的进行findViewById()
* */
public class MyAdapater extends RecyclerView.Adapter<MyAdapater.MyViewHolder> {
   

    private List<Bean> data;
    private Context context;

    public MyAdapater(List<Bean> data, Context context) {
   
        this.data = data;
        this.context = context;
    }



    //创建MyViewHolder的方法
    @NonNull
    @Override
    public MyViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
   
        //首先拿到自定义的布局
        View view = View.inflate(context, R.layout.recyclerview_item, null);
        return new MyViewHolder(view);
    }


    //给布局里面的组件进行数据的绑定  参数的holder,就是当前的内部类,里面包含组件,进行赋值    positionw为i,即第几个
    @Override
    public void onBindViewHolder(@NonNull MyViewHolder holder, int position) {
   
      holder.tv.setText(data.get(position).getName());
    }

    @Override
    public int getItemCount() {
   
        return data==null? 0 :data.size();
    }


    //根据Adatper的继承泛型,可以看出 内部类继承 RecyclerView.ViewHolder
    public class MyViewHolder extends RecyclerView
  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值