package cn.edu.chd.adapter;
import java.util.List;
import android.content.Context;
import android.graphics.Bitmap;
import android.graphics.Point;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.GridView;
import android.widget.ImageView;
import android.widget.TextView;
import cn.edu.chd.domain.ImageBean;
import cn.edu.chd.utils.NativeImageLoader;
import cn.edu.chd.utils.NativeImageLoader.NativeImageLoaderCallback;
import cn.edu.chd.yitu.R;
public class GroupAdapter extends BaseAdapter
{
private List<ImageBean> list;
private LayoutInflater inflater;
private GridView mGridView;
private Point mPoint;
public GroupAdapter(List<ImageBean> list,GridView mGridView,Context context,Point point)
{
this.list = list;
this.inflater = LayoutInflater.from(context);
this.mGridView = mGridView;
this.mPoint = point;
}
@Override
public int getCount()
{
return list.size();
}
@Override
public Object getItem(int position)
{
return list.get(position);
}
@Override
public long getItemId(int position)
{
return position;
}
@Override
public View getView(int position, View convertView, ViewGroup parent)
{
ViewHolder vHolder = null;
ImageBean bean = list.get(position);
if(convertView == null)
{
convertView = inflater.inflate(R.layout.grid_group_item,null);
vHolder = new ViewHolder();
vHolder.iv = (ImageView) convertView.findViewById(R.id.group_image);
vHolder.tv = (TextView) convertView.findViewById(R.id.group_title);
convertView.setTag(vHolder);
}else
{
vHolder = (ViewHolder) convertView.getTag();
}
vHolder.iv.setImageResource(R.drawable.pictures_no);
vHolder.tv.setText(bean.getFolderName());
vHolder.iv.setTag(bean.getTopImagePath());
Bitmap bitmap = NativeImageLoader.getInstance().loadNativeImage(bean.getTopImagePath(), mPoint, new NativeImageLoaderCallback()
{
@Override
public void onImageLoad(Bitmap bitmap, String path)
{
ImageView mImageView = (ImageView) mGridView.findViewWithTag(path);
if(mImageView!=null && bitmap!=null)
{
mImageView.setImageBitmap(bitmap);
}
}
});
if(bitmap!=null)
{
vHolder.iv.setImageBitmap(bitmap);
}
else
{
vHolder.iv.setImageResource(R.drawable.pictures_no);
}
return convertView;
}
private static class ViewHolder
{
ImageView iv;
TextView tv;
}
}