RecyclerView-------MyAdapter代码

 1 package com.example.administrator.recyclerview;
 2 
 3 import android.content.Context;
 4 import android.support.v7.widget.RecyclerView;
 5 import android.view.LayoutInflater;
 6 import android.view.View;
 7 import android.view.ViewGroup;
 8 import android.widget.ImageView;
 9 
10 import java.util.List;
11 
12 /**
13  *  RecyclerView.Adapter<MyViewHolder>尖括号里面的表示数据的类型
14  *  RecyclerView有自己的Viewholder但是我们需要创建自己的viewholder去实现它
15  * Created by Zyh on 2016/9/19.
16  */
17 public class MyAdapter extends RecyclerView.Adapter<MyViewHolder> implements View.OnClickListener{
18     Context content;
19     List<Dates> mDates;
20     LayoutInflater inflater;
21 
22     public MyAdapter(Context content, List<Dates> mDates) {
23         this.content = content;
24         this.mDates = mDates;
25         this.inflater=LayoutInflater.from(content);
26     }
27     @Override
28     public MyViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
29         View view=inflater.inflate(R.layout.item_main,null);
30         MyViewHolder viewHolder=new MyViewHolder(view);
31         return viewHolder;
32     }
33     @Override
34     public void onBindViewHolder(MyViewHolder holder, int position) {
35         holder.iT.setImageResource(mDates.get(position).mImageId);
36         holder.iT.setTag(position);
37     }
38 
39 //设置数量
40     @Override
41     public int getItemCount() {
42         return mDates.size();
43     }
44 
45     OnRecyclerViewItemClickListener mListener;
46 
47 
48 //  定义一个接口里面有一个抽象的方法,重点是里面的参数,View要与点击事件的view相对应
49     protected interface OnRecyclerViewItemClickListener{
50         public abstract void OnItem(View view,int position);
51     }
52 /**  定义一个方法,里面的参数是接口类型的对象,从而在创建接口对象的时候去实现接口的抽象方法,
53     抽象方法内的参数与系统点击事件的方法一致**/
54     public void setOnRecyclerViewItemClickListener(OnRecyclerViewItemClickListener mListener){
55      this.mListener=mListener;
56 
57  }
58     @Override
59     public void onClick(View view) {
60 
61         if (mListener!=null){
62            mListener.OnItem(view, (Integer) view.getTag());
63 
64 
65         }
66 
67     }
68 
69 }
70 
71 class MyViewHolder extends RecyclerView.ViewHolder {
72     ImageView iT;
73     public MyViewHolder(View itemView) {
74         super(itemView);
75         iT= (ImageView) itemView.findViewById(R.id.item_image);
76     }
77 }

 

posted @ 2016-09-19 20:59  呆萌的小猴子  阅读(288)  评论(0编辑  收藏  举报