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 android.widget.TextView;
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.LocalImageBean;
import java.util.ArrayList;
import java.util.List;
/**
* Created by Swifty.Wang on 2015/9/1.
*/
public class LocalPaintAdapter extends RecyclerView.Adapter<LocalPaintAdapter.ViewHolder> {
List<LocalImageBean> localImageListBean;
Context context;
public LocalPaintAdapter(Context context, List<LocalImageBean> localImageListBean) {
if (localImageListBean == null) {
localImageListBean = new ArrayList<>();
}
this.localImageListBean = localImageListBean;
this.context = context;
}
@Override
public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View v = LayoutInflater.from(context)
.inflate(R.layout.view_localimage_item, parent, false);
return new ViewHolder(v);
}
@Override
public void onBindViewHolder(final ViewHolder holder, final int position) {
AsynImageLoader.showImageAsynWithoutCache(holder.image, "file://" + localImageListBean.get(position).getImageUrl());
holder.image.setLayoutParams(new LinearLayout.LayoutParams(MyApplication.getScreenWidth(context) / 5 * 3, (int) (MyApplication.getScreenWidth(context) / 5 * 3 / localImageListBean.get(position).getWvHRadio())));
holder.image.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
gotoPaintActivity("file://" + localImageListBean.get(position).getImageUrl(), localImageListBean.get(position).getImageName());
}
});
holder.lastModifyTime.setText(context.getString(R.string.lastModifty) + " " + localImageListBean.get(position).getLastModDate());
}
private void gotoPaintActivity(String uri, String filename) {
Intent intent = new Intent(context, PaintActivity.class);
intent.putExtra(MyApplication.BIGPICFROMUSER, uri);
int formatName = Integer.valueOf(filename.replace(".png", ""));
intent.putExtra(MyApplication.BIGPICFROMUSERPAINTNAME, formatName);
context.startActivity(intent);
}
@Override
public int getItemCount() {
return localImageListBean.size();
}
static class ViewHolder extends RecyclerView.ViewHolder {
ImageView image;
TextView lastModifyTime;
public ViewHolder(View itemView) {
super(itemView);
image = (ImageView) itemView.findViewById(R.id.image);
lastModifyTime = (TextView) itemView.findViewById(R.id.lastModify);
}
}
}