/*
* Copyright 2017 lizhaotailang
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package com.marktony.zhihudaily.adapter;
import android.content.Context;
import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.TextView;
import com.bumptech.glide.Glide;
import com.bumptech.glide.load.engine.DiskCacheStrategy;
import com.marktony.zhihudaily.R;
import com.marktony.zhihudaily.bean.GuokrHandpickNews;
import com.marktony.zhihudaily.interfaze.OnRecyclerViewOnClickListener;
import java.util.ArrayList;
import java.util.List;
/**
* Created by lizhaotailang on 2016/6/14.
*/
public class GuokrNewsAdapter extends RecyclerView.Adapter<GuokrNewsAdapter.GuokrPostViewHolder> {
private final Context context;
private final LayoutInflater inflater;
private List<GuokrHandpickNews.result> list;
private OnRecyclerViewOnClickListener mListener;
public GuokrNewsAdapter(Context context, ArrayList<GuokrHandpickNews.result> list) {
this.context = context;
this.list = list;
inflater = LayoutInflater.from(context);
}
@Override
public GuokrPostViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View view = inflater.inflate(R.layout.home_list_item_layout,parent,false);
return new GuokrPostViewHolder(view,mListener);
}
@Override
public void onBindViewHolder(GuokrPostViewHolder holder, int position) {
GuokrHandpickNews.result item = list.get(position);
Glide.with(context)
.load(item.getHeadline_img_tb())
.asBitmap()
.placeholder(R.drawable.placeholder)
.diskCacheStrategy(DiskCacheStrategy.SOURCE)
.error(R.drawable.placeholder)
.centerCrop()
.into(holder.ivHeadlineImg);
holder.tvTitle.setText(item.getTitle());
}
@Override
public int getItemCount() {
return list.size();
}
public void setItemClickListener(OnRecyclerViewOnClickListener listener){
this.mListener = listener;
}
public class GuokrPostViewHolder extends RecyclerView.ViewHolder implements RecyclerView.OnClickListener {
ImageView ivHeadlineImg;
TextView tvTitle;
OnRecyclerViewOnClickListener listener;
public GuokrPostViewHolder(View itemView,OnRecyclerViewOnClickListener listener) {
super(itemView);
ivHeadlineImg = (ImageView) itemView.findViewById(R.id.imageViewCover);
tvTitle = (TextView) itemView.findViewById(R.id.textViewTitle);
this.listener = listener;
itemView.setOnClickListener(this);
}
@Override
public void onClick(View v) {
if (listener != null){
listener.OnItemClick(v,getLayoutPosition());
}
}
}
}