recycleview和adapter使用详细解释

首先在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() 返回数组的大小。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值