Recycle多条目的适配器写法

public class HomeAdapter extends RecyclerView.Adapter {
    ArrayList<User> mDatas;
    Context context;
    View view;
    public HomeAdapter(ArrayList<User> mDatas, Context context) {
        this.mDatas = mDatas;
        this.context = context;
    }

    @Override
    public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
        if(viewType==0){
            view=LayoutInflater.from(context).inflate(R.layout.item_home,null);
            MyViewHolder myViewHolder = new MyViewHolder(view);
            return myViewHolder;
        }else{
            view=LayoutInflater.from(context).inflate(R.layout.item_home2,null);
            MyViewHolder2 myViewHolder2 = new MyViewHolder2(view);
            return myViewHolder2;
        }
    }

    @Override
    public void onBindViewHolder(RecyclerView.ViewHolder holder, int position) {
        if(holder instanceof MyViewHolder){
            ((MyViewHolder) holder).tv.setText(mDatas.get(position).getTitle());
        }else if(holder instanceof MyViewHolder2){
            ((MyViewHolder2) holder).tv2.setText(mDatas.get(position).getTitle());
        }

    }

    @Override
    public int getItemViewType(int position) {
        if(position%2==0){
            return 0;
        }else{
            return 1;
        }

    }

    @Override
    public int getItemCount() {
        return mDatas.size();
    }
    public class MyViewHolder extends RecyclerView.ViewHolder{
        TextView tv;
        public MyViewHolder(View itemView) {
            super(itemView);
            tv= (TextView) view.findViewById(R.id.id_num);
        }
    }
    public class MyViewHolder2 extends RecyclerView.ViewHolder{
        TextView tv2;
        public MyViewHolder2(View itemView) {
            super(itemView);
            tv2= (TextView) view.findViewById(R.id.zi2);
        }
    }
}

 

posted @ 2017-10-22 18:43  菜鸟东东  阅读(159)  评论(0编辑  收藏  举报