package cn.fanfan.topic; import java.util.List; import cn.fanfan.common.Config; import cn.fanfan.main.R; import cn.fanfan.topic.imageload.ImageDownLoader; import android.content.Context; import android.graphics.Bitmap; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.BaseAdapter; import android.widget.ImageView; import android.widget.TextView; public class TopicFragmenAdapter extends BaseAdapter { private Context context; private List<TopicModel> topicModels; private ImageDownLoader mImageDownLoader; public TopicFragmenAdapter(Context context,List<TopicModel> topicModels,ImageDownLoader mImageDownLoader) { super(); this.context = context; this.topicModels = topicModels; this.mImageDownLoader = mImageDownLoader; } @Override public int getCount() { // TODO Auto-generated method stub return topicModels.size(); } public void add(List<TopicModel> topic){ for (TopicModel topicModel : topic) { topicModels.add(topicModel); } } @Override public Object getItem(int position) { // TODO Auto-generated method stub return topicModels.get(position); } @Override public long getItemId(int position) { // TODO Auto-generated method stub return position; } @Override public View getView(int position, View convertView, ViewGroup parent) { // TODO Auto-generated method stub ViewHodler viewHodler; final String mImageUrl = Config.getValue("imageBaseUrl")+topicModels.get(position).getImageUrl(); if (convertView == null) { viewHodler = new ViewHodler(); convertView = LayoutInflater.from(context).inflate( R.layout.list_item_topic, null); viewHodler.topicTitle = (TextView) convertView .findViewById(R.id.topic_tag); viewHodler.topicSummary = (TextView) convertView .findViewById(R.id.topic1); viewHodler.imageView = (ImageView) convertView.findViewById(R.id.avatar); convertView.setTag(viewHodler); } else { viewHodler = (ViewHodler) convertView.getTag(); } viewHodler.imageView.setTag(mImageUrl); //viewHodler.imageView.setScaleType(ImageView.ScaleType.CENTER_INSIDE); viewHodler.topicTitle.setText(topicModels.get(position).getTopicTitle()); viewHodler.topicSummary.setText(topicModels.get(position).getTopicSummary()); Bitmap bitmap = mImageDownLoader.getBitmapFromMemCache(mImageUrl .replaceAll("[^\\w]", "")); if (bitmap != null) { viewHodler.imageView.setImageBitmap(bitmap); } else { viewHodler.imageView.setImageDrawable(context.getResources() .getDrawable(R.drawable.ic_topic_default)); } return convertView; } class ViewHodler { private TextView topicTitle; private TextView topicSummary; private ImageView imageView; } }