/**
*
*/
package com.photoshare.view;
import android.graphics.drawable.Drawable;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.ImageView;
import com.photoshare.service.photos.PhotoBean;
import com.photoshare.utils.async.AsyncImageLoader;
import com.photoshare.utils.async.AsyncUtils;
/**
* @author czj_yy
*
*/
public class MiddlePhotoImageView {
private PhotoBean photo;
private ImageView imageView;
private AsyncUtils async;
/**
* @param photo
* @param imageView
* @param context
* @param async
*/
public MiddlePhotoImageView(PhotoBean photo, ImageView imageView,
AsyncUtils async) {
super();
this.photo = photo;
this.imageView = imageView;
this.async = async;
}
public void apply() {
async.loadDrawableFromWeb(photo.getUrlHead(),
new AsyncImageLoader.ImageCallback() {
public void imageLoaded(Drawable imageDrawable,
String imageUrl) {
if (ImageClickListener != null) {
ImageClickListener.OnImageLoaded(imageView,
imageDrawable, imageUrl);
}
}
public void imageDefault() {
if (ImageClickListener != null) {
ImageClickListener.OnImageDefaule(imageView);
}
}
});
imageView.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
// TODO Auto-generated method stub
if (ImageClickListener != null) {
ImageClickListener.OnImageClick(photo);
}
}
});
}
public void registerListener(OnImageClickListener clickListener) {
this.ImageClickListener = clickListener;
}
private OnImageClickListener ImageClickListener;
public interface OnImageClickListener {
public void OnImageClick(PhotoBean photo);
public void OnImageLoaded(ImageView image, Drawable drawable, String url);
public void OnImageDefaule(ImageView image);
}
}