XRecyclerView适配器

package com.example.xx.zkmn2.adapter;

import android.content.Context;
import android.support.v7.widget.RecyclerView;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.TextView;

import com.bumptech.glide.Glide;
import com.example.xx.zkmn2.R;
import com.example.xx.zkmn2.bean.UserBean;

import java.util.ArrayList;
import java.util.List;

/**
 * 作者:戈鹏
 * on 2017/11/12 19:00
 */

public class XrvAdapter extends RecyclerView.Adapter<XrvAdapter.ViewHolder>{
    private Context context;
    private List<UserBean> list=new ArrayList<>();

    private OnItemClick onic;

    public interface OnItemClick{
        void onItem(int position);
    }

    public void setOnItemClick(OnItemClick onic){
        this.onic=onic;
    }



    public XrvAdapter(Context context, List<UserBean> list) {
        this.context = context;
        this.list = list;
    }

    @Override
    public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
        View view = View.inflate(context, R.layout.rv_item, null);
        ViewHolder viewHolder=new ViewHolder(view);
        return viewHolder;
    }

    @Override
    public void onBindViewHolder(ViewHolder holder, final int position) {
        //点击事件
        holder.itemView.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                onic.onItem(position);
                //Toast.makeText(context,"点击实际",Toast.LENGTH_SHORT).show();
            }
        });

        Glide.with(context).load(list.get(position).getUrl()).into(holder.img);
        holder.title.setText(list.get(position).getTitle());
        holder.name.setText(list.get(position).getName());
    }

    @Override
    public int getItemCount() {
        if(list==null){
            return 0;
        }
        return list.size();
    }

    class ViewHolder extends RecyclerView.ViewHolder{
        ImageView img;
        TextView title;
        TextView name;
        public ViewHolder(View itemView) {
            super(itemView);
            img = (ImageView) itemView.findViewById(R.id.rv_img);
            title = (TextView) itemView.findViewById(R.id.rv_title);
            name = (TextView) itemView.findViewById(R.id.rv_name);
        }
    }

}

//多条目RecyclerView

package com.example.xx.day10_x_recyclerview.adapter;

import android.content.Context;
import android.support.v7.widget.RecyclerView;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.TextView;

import com.bumptech.glide.Glide;
import com.example.xx.day10_x_recyclerview.R;
import com.example.xx.day10_x_recyclerview.bean.NewsBean;

import java.util.List;

/**
 * 作者:戈鹏
 * on 2017/11/9 22:27
 */

public class NewsListAdapter2 extends RecyclerView.Adapter<RecyclerView.ViewHolder> {


    private Context context;
    private List<NewsBean> list;

    private static final int TYPE_YES_PIC=0;
    private static final int TYPE_NO_PIC=1;


    //private IPosition ocp;

   /* public void setOnClickPosition(IPosition  ocp){
        this.ocp=ocp;
    }*/



    public NewsListAdapter2(Context context, List<NewsBean> list) {
        this.context = context;
        this.list = list;
    }

    @Override
    public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {

        if(viewType==TYPE_YES_PIC){
            View view = View.inflate(context, R.layout.item_news, null);
            ViewHolder viewHolder = new ViewHolder(view);
            return viewHolder;
        }else {
            View view = View.inflate(context, R.layout.item_news_nopic, null);
            ViewHolderNoPic viewHolderNoPic= new ViewHolderNoPic(view);
            return viewHolderNoPic;
        }



    }

    @Override
    public void onBindViewHolder(RecyclerView.ViewHolder holder, int position) {
        if(holder instanceof ViewHolder){
            ViewHolder h= (ViewHolder) holder;
            Glide.with(context).load(list.get(position).getUrl()).into(h.imgLogo);
            h.txtTime.setText(list.get(position).getCtime());
            h.txtTitle.setText(list.get(position).getTitle());

        }else if(holder instanceof ViewHolderNoPic){
            ViewHolderNoPic hh= (ViewHolderNoPic) holder;
            hh.txtTime.setText(list.get(position).getCtime());
            hh.txtTitle.setText(list.get(position).getTitle());
        }
    }

   /* @Override
    public void onBindViewHolder(ViewHolder holder, int position) {
        Glide.with(context).load(list.get(position).getUrl()).into(holder.imgLogo);
        holder.txtTime.setText(list.get(position).getCtime());
        holder.txtTitle.setText(list.get(position).getTitle());
    }*/

    //多条目
    @Override
    public int getItemViewType(int position) {
        if(position%2==0){
            return TYPE_YES_PIC;
        }else {
            return TYPE_NO_PIC;
        }
    }

    @Override
    public int getItemCount() {
        if(list==null){
            return 0;
        }
        return list.size();
    }

    class ViewHolder extends RecyclerView.ViewHolder{
        ImageView imgLogo;
        TextView txtTitle;
        TextView txtTime;

        public ViewHolder(View itemView) {
            super(itemView);
            imgLogo = (ImageView) itemView.findViewById(R.id.img_logo);
            txtTitle = (TextView) itemView.findViewById(R.id.txt_title);
            txtTime = (TextView) itemView.findViewById(R.id.txt_time);
        }
    }
    class ViewHolderNoPic extends RecyclerView.ViewHolder{
        ImageView imgLogo;
        TextView txtTitle;
        TextView txtTime;

        public ViewHolderNoPic(View itemView) {
            super(itemView);
            txtTitle = (TextView) itemView.findViewById(R.id.txt_title);
            txtTime = (TextView) itemView.findViewById(R.id.txt_time);
        }
    }
}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值