package net.dev123.yibo.service.adapter; import net.dev123.yibo.R; import net.dev123.yibo.common.Constants; import net.dev123.yibo.common.GlobalVars; 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.ImageView; import android.widget.TextView; public class DirectMessageHolder { private static final String TAG = "DirectMessageHolder"; private Context context; ImageView ivProfilePicture; ImageView ivMyProfilePicture; TextView tvScreenName; TextView tvCreateAt; TextView tvMessageText; ImageLoad4HeadTask headTask; public DirectMessageHolder(View convertView) { if (convertView == null) { throw new IllegalArgumentException("convertView is null!"); } context = convertView.getContext(); ivProfilePicture = (ImageView)convertView.findViewById(R.id.ivProfilePicture); ivMyProfilePicture = (ImageView)convertView.findViewById(R.id.ivMyProfilePicture); tvScreenName = (TextView)convertView.findViewById(R.id.tvScreenName); tvCreateAt = (TextView)convertView.findViewById(R.id.tvCreateAt); tvMessageText = (TextView)convertView.findViewById(R.id.tvMessageText); //设置主题 Theme theme = ThemeUtil.createTheme(context); tvScreenName.setTextColor(theme.getColor("highlight")); tvMessageText = (TextView)convertView.findViewById(R.id.tvMessageText); tvMessageText.setTextColor(theme.getColor("content")); tvMessageText.setLinkTextColor(theme.getColorStateList("selector_text_link")); reset(); } public void reset() { if (ivProfilePicture != null) { ivProfilePicture.setVisibility(View.GONE); ivProfilePicture.setImageDrawable(GlobalResource.getDefaultMinHeader(context)); } if (ivMyProfilePicture != null) { ivMyProfilePicture.setVisibility(View.GONE); ivMyProfilePicture.setImageDrawable(GlobalResource.getDefaultMinHeader(context)); } if (tvCreateAt != null) { tvCreateAt.setText(""); tvCreateAt.setTextColor(GlobalResource.getStatusTimelineReadColor(context)); } if (tvMessageText != null) { if (tvMessageText.getTextSize() != GlobalVars.FONT_SIZE_HOME_BLOG) { tvMessageText.setTextSize(GlobalVars.FONT_SIZE_HOME_BLOG); if (Constants.DEBUG) Log.d(TAG, "tweet FontSize: " + GlobalVars.FONT_SIZE_HOME_BLOG); } tvMessageText.setText(""); } headTask = null; } public void recycle() { if (headTask != null) { headTask.cancel(true); } if (Constants.DEBUG) Log.d(TAG, "message convertView recycle"); } }