RecyclerView

RecyclerView

  • 导入gradle 依赖
  • 编写适配器
  • 在Activity中实现

导入gradle 依赖

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

编写适配器

继承

RecyclerView.Adapter<加泛型(ViewHoder类)>

重写方法

@NonNull
    @Override
    public ViewHolder onCreateViewHolder(@NonNull ViewGroup viewGroup, int i) {
    // i 代表类型,再多布局时进行分类
        View view = LayoutInflater.from(context).inflate(R.layout.item, null);
        return new ViewHolder(view);
    }

    @Override
    public void onBindViewHolder(@NonNull ViewHolder viewHolder, final int i) {
    // i 代表下标
        viewHolder.tv.setText(dataBeans.get(i).getText());
        Glide.with(context).load(dataBeans.get(i).getImage1()).into(viewHolder.iv);
    }

    @Override
    public int getItemCount() {
    
    //TODO: 集合长度 
        return dataBeans.size();
    }

编写Holder方法

继承 RecyclerView.ViewHolder

class ViewHolder extends RecyclerView.ViewHolder{
        private TextView tv;
        private ImageView iv;

        public ViewHolder(@NonNull View itemView) {
            super(itemView);
            tv = itemView.findViewById(R.id.tv);
            iv = itemView.findViewById(R.id.iv);
        }
    }

在Activity中实现

必须写

// 瀑布式
recyclerView.setLayoutManager(new StaggeredGridLayoutManager(2, StaggeredGridLayoutManager.VERTICAL));
// List式
recyclerView.setLayoutManager(new LinearLayoutManager(MainActivity.this));
// Glid式  1.上下文  2.几列
recyclerView.setLayoutManager(new GridLayoutManager(MainActivity.this,3));

你可能感兴趣的:(RecyclerView)