Android开发----RecyclerView的使用(创建网格布局)

  1. 引入RecyclerView
    在当前模块的build.gradle中引入RecyclerView的包,路径如下:app/build.gradle,
    implementation 'com.android.support:appcompat-v7:28.0.0-rc02'
	//版本号尽量与已有的appcompat包相同
    implementation 'com.android.support:recyclerview-v7:28.0.0-rc02'

  1. 在xml定义RecyclerView
    在你需要加入的RecyclerView的布局文件中添加RecyclerView,我的例子代码如下:
    

        

            
            
                
                

                

            


            

            
        
    
  1. 在Activity中声明RecyclerView对象
    为了对我们的RecyclerView进行操作,我们需要在该布局文件对应的xml中创建RecyclerView对象,并通过Activity的findViewById方法来找到对应的RecyclerView
private RecyclerView mRvGrid;
mRvGrid = this.findViewById(R.id.rv_grid);
//由于在此我要设置的是网格的RecyclerView,所以还需为RecyclerView设置布局
mRvGrid.setLayoutManager(new GridLayoutManager(this,3));
  1. 创建Adapter
    (1)继承自RecyclerView.Adapter
    (2)自定义ViewHolder继承自RecyclerView.ViewHolder
    (3)创建item的布局文件
    (4)实现RecyclerView.Adapter的接口方法
package com.musicplaer.eminemmusic.adapters;

import android.content.Context;
import android.support.annotation.NonNull;
import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;

import com.musicplaer.eminemmusic.R;

public class MusicGridAdapter extends RecyclerView.Adapter {
    private Context context;

    public MusicGridAdapter(Context context){
        this.context = context;
    }

    @NonNull
    @Override
    public ViewHolder onCreateViewHolder(@NonNull ViewGroup viewGroup, int i) {
        //LayoutInflater.from(context).inflate()将Layout映射为View: 即设置每一个item的布局
        return new ViewHolder(LayoutInflater.from(context).inflate(R.layout.item_grid_music,viewGroup,false));
    }

    @Override
    public void onBindViewHolder(@NonNull ViewHolder viewHolder, int i) {

    }

    @Override
    public int getItemCount() {
        //6在此表示有6个item,仅为演示
        return 6;
    }

    class ViewHolder extends RecyclerView.ViewHolder{

        public ViewHolder(@NonNull View itemView) {
            super(itemView);
        }
    }
}

每一个接item的布局文件可以参考如下




    
        
        
        

        
        

            

            

        

    

    


  1. 为RecyclerView设置Adapter
    setAdapter(SelfDefAdapter);
    在原先创建RecyclerView对象的Activity中创建自定义的Adapter,代码示例如下
private MusicGridAdapter musicGridAdapter;
mRvGrid.setAdapter(musicGridAdapter);

你可能感兴趣的:(Android,移动开发)