Android 使用 RecyclerView 创建动态列表

Android 使用 RecyclerView 创建动态列表

记录一下学习过程,RecyclerView 创建动态列表效果如下:
Android 使用 RecyclerView 创建动态列表_第1张图片

  • Recyclerview 认识

    • Recyclerview 库:
    • Recyclerview 指南:
    • RecyclerView 可以显示大型数据集,通过回收有限数量的视图可以有效地滚动这些数据集,同时最大限度减少内存用量。 在实例化 ViewHolder 视图时可以定义单击侦听器。
    • RecyclerView 库会根据需要动态创建元素。顾名思义,RecyclerView 会回收这些单个的元素。当列表项滚动出屏幕时,RecyclerView 不会销毁其视图。相反,RecyclerView 会对屏幕上滚动的新列表项重用该视图。这种重用可以显著提高性能,改善应用响应能力并降低功耗。
  • 使用:在应用或模块的 build.gradle 文件中添加所需工件的依赖项:

    dependencies {
         
      implementation "androidx.recyclerview:recyclerview:1.2.1"
    }
    
  • 第二步:定义页面布局 (activity_out_in.xml)

      
      
          
          
          
          
          
      
    
  • 第三步:定义RecyclerView每一项(Item)页面(recyclerview_ware_item.xml)

    
    
    
        
    
            
              
              
              
                
                
                
                
                
                
                
            
            
        
    
    
  • 第四步 :创建RecyclerView适配器 ,实现 Adapter 和 ViewHolder

    • ViewHolder 是包含列表中各列表项的布局的 View 的封装容器。Adapter 会根据需要创建 ViewHolder 对象,还会为这些视图设置数据。将视图与其数据相关联的过程称为“绑定”。
    • 定义 Adapter,需要重写以下三个方法
      • onCreateViewHolder():每当 RecyclerView 需要创建新的 ViewHolder 时,它都会调用此方法。此方法会创建并初始化 ViewHolder 及其关联的 View,但不会填充视图的内容,因为 ViewHolder 此时尚未绑定到具体数据。
      • onBindViewHolder():RecyclerView 调用此方法将 ViewHolder 与数据相关联。此方法会提取适当的数据,并使用该数据填充 ViewHolder 的布局。
      • getItemCount():RecyclerView 调用此方法来获取数据集的大小。
        //数据源 实体类对象
        public class TestData {
             
          private int testId;
          private String testName;
          private String testNum;
          private String testDate;
          private String testStatus;
          private String testOutIn;
          //构造方法 。getter 和 setter 方法省略不写(不展示出来)
        }
      
        import android.content.Context;
        import android.view.LayoutInflater;
        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 适配器 。继承于RecyclerView.Adapter,其中VH是我们创建的一个继承于RecyclerView.ViewHolder的静态内部类
        public class WareRecyclerViewAdapter extends RecyclerView.Adapter<WareRecyclerViewAdapter.myView> {
             
          private List<TestData> dataList; // 数据源
          private Context context;//上下文
          private myItemOnClick myItemOn

你可能感兴趣的:(android,java,android-studio)