package com.hyrt.cei.ui.phonestudy.adapter; import java.util.HashMap; import java.util.List; import com.hyrt.cei.R; import com.hyrt.cei.application.CeiApplication; import com.hyrt.cei.util.AsyncImageLoader; import com.hyrt.cei.vo.Courseware; import com.hyrt.cei.vo.ImageResourse; import android.app.Activity; import android.content.Context; import android.graphics.drawable.Drawable; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.BaseAdapter; import android.widget.GridView; import android.widget.ImageView; import android.widget.LinearLayout; import android.widget.TextView; public class CourseDetailAboutAdapter extends BaseAdapter { private List<Courseware> coursewares; private LayoutInflater inflater; private AsyncImageLoader asyncImageLoader; private GridView gv; public CourseDetailAboutAdapter(Activity activity, List<Courseware> coursewares, GridView gv) { this.coursewares = coursewares; this.gv = gv; inflater = (LayoutInflater) activity .getSystemService(Context.LAYOUT_INFLATER_SERVICE); asyncImageLoader = ((CeiApplication) (activity.getApplication())).asyncImageLoader; } @Override public int getCount() { return coursewares.size(); } @Override public Object getItem(int position) { return coursewares.get(position); } @Override public long getItemId(int position) { return position; } @Override public View getView(int position, View convertView, ViewGroup parent) { ViewHolder holder = null; if (convertView == null) { holder = new ViewHolder(); convertView = inflater.inflate( R.layout.phone_studydetail_gridview_item, null); holder.classIcon = (ImageView) ((LinearLayout) convertView) .getChildAt(0); holder.title = (TextView) ((LinearLayout) convertView) .getChildAt(1); convertView.setTag(holder); } else { holder = (ViewHolder) convertView.getTag(); } String imageUrl = coursewares.get(position).getSmallPath(); holder.classIcon.setTag(imageUrl); holder.title.setText("第"+ coursewares.get(position).getClassLevel()+"集"); ImageResourse imageResource = new ImageResourse(); imageResource.setIconUrl(imageUrl); imageResource.setIconId(coursewares.get(position).getClassId()); asyncImageLoader.loadDrawable(imageResource, new AsyncImageLoader.ImageCallback() { @Override public void imageLoaded(Drawable drawable, String path) { ImageView imageView = (ImageView) gv .findViewWithTag(path); if (drawable != null && imageView != null) { imageView.setImageDrawable(drawable); } } }); return convertView; } class ViewHolder { ImageView classIcon; TextView title; } }