package jp.mydns.sys1yagi.android.androiduniversalimageloadersample;
import java.util.List;
import android.content.Context;
import android.graphics.Bitmap;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.ImageView;
import com.googlecode.flickrjandroid.photos.Photo;
import com.nostra13.universalimageloader.core.ImageLoader;
import com.nostra13.universalimageloader.core.assist.SimpleImageLoadingListener;
public class ImageAdapter extends ArrayAdapter<Photo> {
private final static String TAG = ImageAdapter.class.getSimpleName();
private LayoutInflater mInflater;
public ImageAdapter(Context context, List<Photo> photolist) {
super(context, -1, photolist);
mInflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
if (convertView == null) {
convertView = mInflater.inflate(R.layout.image_item, null);
}
Photo photo = getItem(position);
ImageView imageView = (ImageView) convertView.findViewById(R.id.image);
imageView.setTag(photo.getMediumUrl());
imageView.setImageBitmap(null);
ImageLoader.getInstance().cancelDisplayTask(imageView);
ImageLoader.getInstance().displayImage(photo.getMediumUrl(), imageView, new SimpleImageLoadingListener() {
@Override
public void onLoadingComplete(String imageUri, View view, Bitmap loadedImage) {
if (view.getTag().equals(imageUri)) {
((ImageView) view).setImageBitmap(loadedImage);
}
}
});
return convertView;
}
}