package com.swifty.fillcolor.controller.main;
import android.content.Context;
import android.content.Intent;
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.LinearLayout;
import com.swifty.fillcolor.MyApplication;
import com.swifty.fillcolor.R;
import com.swifty.fillcolor.controller.paint.PaintActivity;
import com.swifty.fillcolor.model.AsynImageLoader;
import com.swifty.fillcolor.model.bean.CacheImageBean;
import com.swifty.fillcolor.util.UmengUtil;
import java.util.ArrayList;
import java.util.List;
/**
* Created by Swifty.Wang on 2015/9/9.
*/
public class CacheImageAdapter extends RecyclerView.Adapter<CacheImageAdapter.ViewHolder> {
List<CacheImageBean> cacheImageBeans;
Context context;
public CacheImageAdapter(Context context, List<CacheImageBean> cacheImageBeans) {
if (cacheImageBeans == null) {
cacheImageBeans = new ArrayList<>();
}
this.cacheImageBeans = cacheImageBeans;
this.context = context;
}
@Override
public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View v = LayoutInflater.from(context)
.inflate(R.layout.view_cacheimage_item, parent, false);
return new ViewHolder(v);
}
@Override
public void onBindViewHolder(final ViewHolder holder, final int position) {
if (cacheImageBeans.get(position).getWvHRadio() != 0) {
holder.image.setLayoutParams(new LinearLayout.LayoutParams(MyApplication.getScreenWidth(context) / 2, (int) (MyApplication.getScreenWidth(context) / 2 / cacheImageBeans.get(position).getWvHRadio())));
} else {
holder.image.setLayoutParams(new LinearLayout.LayoutParams(MyApplication.getScreenWidth(context) / 2, (int) (MyApplication.getScreenWidth(context) / 2 / 0.71)));
}
AsynImageLoader.showImageAsynWithoutCache(holder.image, cacheImageBeans.get(position).getUrl());
holder.image.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
gotoPaintActivity(cacheImageBeans.get(position).getUrl());
}
});
}
private void gotoPaintActivity(String s) {
UmengUtil.analysitic(context, UmengUtil.MODELNUMBER, s);
Intent intent = new Intent(context, PaintActivity.class);
intent.putExtra(MyApplication.BIGPIC, s);
context.startActivity(intent);
}
@Override
public int getItemCount() {
return cacheImageBeans.size();
}
static class ViewHolder extends RecyclerView.ViewHolder {
ImageView image;
public ViewHolder(View itemView) {
super(itemView);
image = (ImageView) itemView.findViewById(R.id.image);
}
}
}