package com.hyrt.cei.adapter;
import java.util.HashMap;
import java.util.List;
import com.hyrt.cei.application.CeiApplication;
import com.hyrt.cei.util.AsyncImageLoader;
import com.hyrt.cei.util.AsyncImageLoader.ImageCallback;
import com.hyrt.cei.vo.ImageResourse;
import com.hyrt.cei.vo.Report;
import com.hyrt.ceiphone.R;
import com.hyrt.readreport.ReadReportMainActivity;
import android.graphics.drawable.Drawable;
import android.util.Log;
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.TextView;
public class NewsReportAdapter extends BaseAdapter {
private AsyncImageLoader asyncImageLoader;
private List<Report> data;
private GridView gridView;
private LayoutInflater inflater;
private HashMap<String, Drawable> drawables = new HashMap<String, Drawable>();
public NewsReportAdapter(ReadReportMainActivity c, GridView gridView,
List<Report> data) {
this.data = data;
this.gridView = gridView;
inflater = LayoutInflater.from(c);
asyncImageLoader = ((CeiApplication) c.getApplication()).asyncImageLoader;
}
public int getCount() {
return data.size();
}
public Object getItem(int position) {
return data.get(position);
}
public long getItemId(int position) {
return position;
}
public View getView(final int position, View convertView, ViewGroup parent) {
// if (convertView == null) {
convertView = inflater.inflate(R.layout.read_report_main_news_item,
null);
// }
ImageView imageView = (ImageView) convertView
.findViewById(R.id.report_item_reportImg);
imageView.setTag(data.get(position).getSmallPpath());
TextView textView = (TextView) convertView
.findViewById(R.id.report_item_reportName);
textView.setText(data.get(position).getName().length()>15?data.get(position).getName().substring(0,14):data.get(position).getName());//
ImageResourse imageResource = new ImageResourse();
imageResource.setIconUrl(data.get(position).getSmallPpath());
imageResource.setIconId(data.get(position).getId());
imageResource.setIconTime(data.get(position).getProtime());
if (drawables.containsKey(data.get(position).getSmallPpath())
&& drawables.get(data.get(position).getSmallPpath()) != null) {
imageView.setBackgroundDrawable(drawables.get(data.get(position)
.getSmallPpath()));
Log.i("view", "缓存起作用");
} else {
asyncImageLoader.loadDrawable(imageResource, new ImageCallback() {
@Override
public void imageLoaded(Drawable imageDrawable, String imageUrl) {
ImageView img = (ImageView) gridView.findViewWithTag(data
.get(position).getSmallPpath());
if (img != null && imageDrawable != null) {
// img.setLayoutParams(new
// LinearLayout.LayoutParams(120, 150));
// img.setScaleType(ImageView.ScaleType.FIT_CENTER);
// img.setImageDrawable(imageDrawable);
img.setBackgroundDrawable(imageDrawable);
drawables.put(data.get(position).getSmallPpath(),
imageDrawable);
}
}
});
}
// imageView.setImageResource(R.drawable.bg0);
// convertView.setLayoutParams(new A.LayoutParams(120,150));
return convertView;
}
}