RecommendTrendImgAdapter.java 3.67 KB
Newer Older
konghaorui committed
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51
package com.yidianling.dynamic.adapter;

import android.content.Context;
import android.os.Build;
import android.support.annotation.RequiresApi;
import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;

import com.ydl.ydl_image.module.GlideApp;
import com.yidianling.dynamic.R;
import com.yidianling.dynamic.model.RecommendTrendImage;

import java.util.List;

/**
 * Created by xiongyu on 2017/3/14.
 */

public class RecommendTrendImgAdapter extends RecyclerView.Adapter<RecommendTrendImgViewHolder> {
    private static final String TAG = "RecommendTrendImgAdapte";

    protected Context mContext;
    protected List<RecommendTrendImage> mDatas,mDatas1;
    private  String trend_id;
    protected LayoutInflater mInflater;


    public interface OnItemClickLister {
        void onItemClick(View view, int position);
    }

    private OnItemClickLister mOnItemClickLister;

    public void setOnItemClickLister(OnItemClickLister lister) {
        this.mOnItemClickLister = lister;
    }

    public RecommendTrendImgAdapter(List<RecommendTrendImage> mDatas, List<RecommendTrendImage> mDatas1, Context mContext, String trend_id) {
        this.mContext = mContext;
        this.mDatas = mDatas;
        this.mDatas1=mDatas1;
        this.trend_id=trend_id;
        mInflater = LayoutInflater.from(mContext);
    }

    @Override
    public RecommendTrendImgViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
        View view=null;
konghaorui committed
52
        view=mInflater.inflate(R.layout.dynamic_item_recommend_trend_img,parent,false);
konghaorui committed
53 54 55 56 57 58 59 60 61 62 63 64 65
        RecommendTrendImgViewHolder viewHolder= new RecommendTrendImgViewHolder(view);
        return viewHolder;
    }

    @RequiresApi(api = Build.VERSION_CODES.JELLY_BEAN)
    @Override
    public void onBindViewHolder(RecommendTrendImgViewHolder holder, final int position) {
        RecommendTrendImage trendImage=mDatas.get(position);
        String img_url=trendImage.getImage_url();
        if(!"no".equals(img_url)){
            GlideApp.with(mContext)
                    .load(img_url)
//                .override(width,width)
konghaorui committed
66
                    .error(R.drawable.dynamic_default_img)
konghaorui committed
67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117
                    .centerCrop()
//                .bitmapTransform(new CropSquareTransformation(mContext))//裁剪正方形
                    .into(holder.trend_img1);
        }
        setUpItemEvent(holder);
    }

    @Override
    public int getItemCount() {
        if(mDatas.size()>3){
            return 3;
        }else {
            return mDatas.size();
        }
    }



    public void updateDate(List<RecommendTrendImage> mDatas, List<RecommendTrendImage> mDatas1) {
        this.mDatas = mDatas;
        this.mDatas1=mDatas1;
        notifyDataSetChanged();
    }

    /**
     * 给item添加监听
     * @param holder
     */
    protected  void setUpItemEvent(final RecommendTrendImgViewHolder holder){
        if(mOnItemClickLister!=null){
            holder.itemView.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    int layoutPosition=holder.getLayoutPosition();
                    mOnItemClickLister.onItemClick(holder.itemView,layoutPosition);

                }
            });
        }
    }
}

class RecommendTrendImgViewHolder extends RecyclerView.ViewHolder{
    ImageView trend_img1;
//    trend_img2,trend_img3;
    public RecommendTrendImgViewHolder(View itemView) {
        super(itemView);
        trend_img1=(ImageView)itemView.findViewById(R.id.item_reconmmend_trend_img_iv1);
//        trend_img2=(ImageView)itemView.findViewById(R.id.item_reconmmend_trend_img_iv2);
    }
}