/** * */ package com.photoshare.service.likes.view; import android.graphics.drawable.Drawable; import android.view.View; import android.widget.ImageView; import android.widget.TextView; import com.photoshare.service.likes.LikeBean; import com.photoshare.service.users.UserInfo; import com.photoshare.tabHost.R; import com.photoshare.utils.async.AsyncImageLoader.ImageCallback; import com.photoshare.utils.async.AsyncUtils; import com.photoshare.view.UserTextView; /** * @author czj_yy * */ public class LikeItemView { private View baseView; private UserTextView mUserNameView; private TextView mLikeDespView; private TextView mLikesDateView; private ImageView mUserHead; private AsyncUtils async; private LikeBean bean; /** * @param baseView * @param async * @param bean */ public LikeItemView(View baseView, AsyncUtils async, LikeBean bean) { super(); this.baseView = baseView; this.async = async; this.bean = bean; } public void applyView() { mUserNameView = new UserTextView( (TextView) baseView.findViewById(R.id.likeItemUserName), new UserInfo.UserInfoBuilder().ID(bean.getUid()) .Name(bean.getUname()).build(), bean.getUname()); mUserNameView.registerListener(OnNameClickListener); mUserNameView.apply(); mLikeDespView = (TextView) baseView.findViewById(R.id.likeItemDesc); mLikesDateView = (TextView) baseView.findViewById(R.id.likeItemDate); mUserHead = (ImageView) baseView.findViewById(R.id.likeUserHead); mLikeDespView.setText("喜爱这张照片"); mLikesDateView.setText(bean.getCreateTime()); async.loadDrawableFromWeb(bean.getTinyHead(), new ImageCallback() { public void imageLoaded(Drawable imageDrawable, String imageUrl) { if (onLikeClickListener != null) { onLikeClickListener.OnUserHeadLoaded(mUserHead, imageDrawable, imageUrl); } } public void imageDefault() { if (onLikeClickListener != null) { onLikeClickListener.OnImageDefaule(mUserHead); } } }); } private UserTextView.UserTextOnClickListener OnNameClickListener = new UserTextView.UserTextOnClickListener() { public void OnClick(UserInfo info) { if (onLikeClickListener != null) { onLikeClickListener.OnNameClick(info); } } }; private OnLikeClickListener onLikeClickListener; public void registerListener(OnLikeClickListener onLikeClickListener) { this.onLikeClickListener = onLikeClickListener; } public interface OnLikeClickListener { public void OnNameClick(UserInfo info); public void OnUserHeadLoaded(ImageView image, Drawable drawable, String url); public void OnImageDefaule(ImageView image); } }