package net.dev123.yibo.service.adapter;
import net.dev123.yibo.R;
import net.dev123.yibo.common.Constants;
import net.dev123.yibo.common.GlobalResource;
import net.dev123.yibo.common.theme.Theme;
import net.dev123.yibo.common.theme.ThemeUtil;
import net.dev123.yibo.service.task.ImageLoad4HeadTask;
import android.content.Context;
import android.util.Log;
import android.view.View;
import android.widget.CheckBox;
import android.widget.ImageView;
import android.widget.TextView;
public class UserSelectorHolder {
private static final String TAG = "UserSelectorHolder";
private Context context;
ImageView ivProfilePicture;
TextView tvScreenName;
TextView tvImpress;
ImageView ivVerify;
CheckBox cbUser;
ImageLoad4HeadTask headTask;
public UserSelectorHolder(View convertView) {
if (convertView == null) {
throw new IllegalArgumentException("convertView is null!");
}
context = convertView.getContext();
ivProfilePicture = (ImageView) convertView.findViewById(R.id.ivProfilePicture);
tvScreenName = (TextView) convertView.findViewById(R.id.tvScreenName);
ivVerify = (ImageView) convertView.findViewById(R.id.ivVerify);
tvImpress = (TextView) convertView.findViewById(R.id.tvImpress);
cbUser = (CheckBox)convertView.findViewById(R.id.cbUser);
//主题
Theme theme = ThemeUtil.createTheme(context);
tvScreenName.setTextColor(theme.getColor("content"));
ivVerify.setImageDrawable(theme.getDrawable("icon_verification"));
tvImpress.setTextColor(theme.getColor("remark"));
cbUser.setButtonDrawable(theme.getDrawable("selector_checkbox"));
reset();
}
public void reset() {
if (ivProfilePicture != null) {
ivProfilePicture.setImageDrawable(GlobalResource.getDefaultMinHeader(context));
}
if (tvScreenName != null) {
tvScreenName.setText("");
}
if (ivVerify != null) {
ivVerify.setVisibility(View.GONE);
}
if (tvImpress != null) {
tvImpress.setText("");
}
if (cbUser != null) {
cbUser.setChecked(false);
}
headTask = null;
}
public void recycle() {
if (headTask != null) {
headTask.cancel(true);
}
if (Constants.DEBUG) Log.d(TAG, "userselector convertView recycle");
}
}