首先在build.gradle中添加一个依赖包,写入:
compile 'com.android.support:recyclerview-v7:28.0.0' 这是现在的最新的版本。
SDK安装位置\extras\android\m2repository\com\android\support 文件夹下,就是依赖包
super函数,调用父类。可参考 https://blog.csdn.net/Double2hao/article/details/48930133
public class RecyclerAdapter extends RecyclerView.Adapter<RecyclerAdapter.ViewHolder>{
private List<Video>mVideoList;
public RecyclerAdapter(List<Video> mVideoList){
this.mVideoList=mVideoList;
}
//初始化VideoHolder
static class ViewHolder extends RecyclerView.ViewHolder {
View videoView;
ImageView videoImage;
TextView videoTitle;
TextView videoDate;
public ViewHolder(View view) {
super(view);
videoView=view;
videoImage=(ImageView) view.findViewById(R.id.video);
videoDate=(TextView) view.findViewById(R.id.date);
videoTitle=(TextView) view.findViewById(R.id.title);
}
}
@Override
public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View itemView= LayoutInflater.from(parent.getContext()).inflate(R.layout.video,parent,false);
ViewHolder holder = new ViewHolder(itemView);
return holder;
}
@Override
public void onBindViewHolder(ViewHolder holder, int position) {
Video video =mVideoList.get(position);
holder.videoImage.setImageResource(video.getImageID());
holder.videoTitle.setText(video.getTitle());
holder.videoDate.setText(video.getDate());
}
@Override
public int getItemCount() {
return mVideoList.size();
}
}
作为一个没有做过安卓开发,没有学过java的初学者来说,这个东西看了一周才搞懂,确实有点懵逼。
首先,我们先定义一个Recyeleradapter,继承于RecyclerView.Adapter,这里的<RecyclerAdapter.ViewHolder>是代表泛型,因为ViewHodler里包括了很多的view。
然后定义了一个私有的list数组,一个共有的RecyclerAdapter初始函数。
然后定义了一个ViewHolder函数们用来绑定,初始化各个view。
然后复写onCreateViewHolder函数,将布局layout配置进来。
然后复写onBindViewHolder 数组中的数据绑定进来。
最后复写getItemCount() 返回数组的大小。