package com.jerey.keepgank.adapter;
import android.content.Context;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.view.WindowManager;
import android.widget.ImageView;
import android.widget.TextView;
import com.bumptech.glide.Glide;
import com.bumptech.glide.load.engine.DiskCacheStrategy;
import com.jerey.keepgank.R;
import com.jerey.keepgank.activity.PhotoActivity;
import com.jerey.keepgank.bean.Result;
import java.util.ArrayList;
import java.util.List;
import java.util.Random;
/**
* Created by Xiamin on 2017/3/1.
*/
public class MeiziAdapter extends RecyclerView.Adapter<MeiziAdapter.ViewHolder> {
private List<Result> mDatas;
private Context mContext;
private List<Integer> heightList;//装产出的随机数
public MeiziAdapter(Context context){
mContext = context;
mDatas = new ArrayList<>();
//记录为每个控件产生的随机高度,避免滑回到顶部出现空白
heightList = new ArrayList<>();
}
@Override
public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View view = LayoutInflater.from(parent.getContext())
.inflate(R.layout.meizi_fragment_item, parent, false);
return new ViewHolder(view);
}
@Override
public void onBindViewHolder(final ViewHolder holder, int position) {
ViewGroup.LayoutParams layoutParams = holder.imageView.getLayoutParams();
layoutParams.height = heightList.get(position);
layoutParams.width = WindowManager.LayoutParams.MATCH_PARENT;
holder.imageView.setLayoutParams(layoutParams);
final Result data = mDatas.get(position);
if(data.getUrl() != null) {
Glide.with(mContext)
.load(data.getUrl())
.error(R.drawable.jay)
.centerCrop()
.placeholder(R.drawable.bg_cyan)
.diskCacheStrategy(DiskCacheStrategy.ALL)
.into(holder.imageView);
}else {
holder.imageView.setImageResource(R.drawable.jay);
}
holder.imageView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
PhotoActivity.startActivity((AppCompatActivity) mContext,data.getUrl(),holder.imageView);
}
});
holder.textView.setText(data.getDesc());
}
@Override
public int getItemCount() {
return mDatas.size();
}
public static class ViewHolder extends RecyclerView.ViewHolder {
public ImageView imageView;
public TextView textView;
public ViewHolder(View itemView) {
super(itemView);
imageView = (ImageView) itemView.findViewById(R.id.item_img);
textView = (TextView) itemView.findViewById(R.id.item_title);
}
}
public void addData(List<Result> datas) {
this.mDatas.addAll(datas);
for (int i = 0; i <mDatas.size(); i++) {
int height = new Random().nextInt(200) + 250;//[100,300)的随机数
heightList.add(height);
}
}
public void setData(List<Result> datas) {
this.mDatas = datas;
for (int i = 0; i <mDatas.size(); i++) {
int height = new Random().nextInt(200) + 250;//[100,300)的随机数
heightList.add(height);
}
}
}