RecommendTrendImgAdapter.java 3.79 KB
Newer Older
konghaorui committed
1 2 3
package com.yidianling.dynamic.adapter;

import android.content.Context;
konghaorui committed
4
import android.net.Uri;
konghaorui committed
5
import android.os.Build;
YKai committed
6 7
import androidx.annotation.RequiresApi;
import androidx.recyclerview.widget.RecyclerView;
konghaorui committed
8 9 10 11 12
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;

konghaorui committed
13
import com.miracle.view.imageeditor.utils.FileUtils;
konghaorui committed
14 15
import com.ydl.ydl_image.module.GlideApp;
import com.yidianling.dynamic.R;
16
import com.ydl.ydlcommon.ui.ParcelableImage;
konghaorui committed
17 18 19 20 21 22 23 24 25 26 27

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;
28
    protected List<ParcelableImage> mDatas,mDatas1;
konghaorui committed
29 30 31 32 33 34 35 36 37 38 39 40 41 42
    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;
    }

43
    public RecommendTrendImgAdapter(List<ParcelableImage> mDatas, List<ParcelableImage> mDatas1, Context mContext, String trend_id) {
konghaorui committed
44 45 46 47 48 49 50 51 52 53
        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
54
        view=mInflater.inflate(R.layout.dynamic_item_recommend_trend_img,parent,false);
konghaorui committed
55 56 57 58 59 60 61
        RecommendTrendImgViewHolder viewHolder= new RecommendTrendImgViewHolder(view);
        return viewHolder;
    }

    @RequiresApi(api = Build.VERSION_CODES.JELLY_BEAN)
    @Override
    public void onBindViewHolder(RecommendTrendImgViewHolder holder, final int position) {
62
        ParcelableImage trendImage=mDatas.get(position);
konghaorui committed
63 64
        String img_url=trendImage.getImage_url();
        if(!"no".equals(img_url)){
konghaorui committed
65
            Uri uriByPath = FileUtils.INSTANCE.getUriByPath(mContext, img_url);
konghaorui committed
66
            GlideApp.with(mContext)
konghaorui committed
67
                    .load(uriByPath)
konghaorui committed
68
//                .override(width,width)
konghaorui committed
69
                    .error(R.drawable.dynamic_default_img)
konghaorui committed
70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87
                    .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();
        }
    }



88
    public void updateDate(List<ParcelableImage> mDatas, List<ParcelableImage> mDatas1) {
konghaorui committed
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 118 119 120
        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);
    }
}