package com.hyrt.cei.adapter;
import java.lang.ref.SoftReference;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import com.hyrt.cei.application.CeiApplication;
import com.hyrt.cei.db.DataHelper;
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 android.app.Activity;
import android.graphics.drawable.Drawable;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AbsListView;
import android.widget.BaseAdapter;
import android.widget.GridView;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.ProgressBar;
import android.widget.TextView;
public class BookSelfAdapter extends BaseAdapter {
private List<Report> data;
private GridView gridView;
private LayoutInflater inflater;
private AsyncImageLoader asyncImageLoader;
DataHelper dataHelper;
private List<String> indexs = new ArrayList<String>();
private HashMap<String, SoftReference<Drawable>> drawables = new
HashMap<String, SoftReference<Drawable>>();
public BookSelfAdapter(Activity c, List<Report> data, GridView gridView) {
this.data = data;
this.gridView = gridView;
inflater = LayoutInflater.from(c);
asyncImageLoader = ((CeiApplication) c.getApplication()).asyncImageLoader;
dataHelper = ((CeiApplication) c.getApplication()).dataHelper;
}
public int getCount() {
return data.size();
}
public Object getItem(int position) {
return position;
}
public long getItemId(int position) {
return position;
}
public View getView(final int position, View convertView, ViewGroup parent) {
// ImageView imageView;
indexs.add(position, "no");
final ProgressBar bar;
final TextView tv;
final Report report = data.get(position);
if (convertView == null) {
convertView = inflater
.inflate(R.layout.read_report_book_item, null);
}
ImageView imageView = (ImageView) convertView
.findViewById(R.id.yjbg_book_item_iv);
imageView.setTag(report.getSmallPpath());
imageView.setImageResource(R.drawable.read_report_report1);
final ImageResourse imageResource = new ImageResourse();
imageResource
.setIconUrl(report.getSmallPpath().replace("/big.png", ""));
imageResource.setIconId(report.getId());
imageResource.setIconTime(report.getProtime());
if (drawables.containsKey(report.getSmallPpath()) &&
drawables.get(report.getSmallPpath()) != null) {
imageView.setImageDrawable(drawables.get(
report.getSmallPpath()).get()); Log.i("view", position + "起作用了"); }
else {
asyncImageLoader.loadDrawable(imageResource, new ImageCallback() {
@Override
public void imageLoaded(Drawable imageDrawable, String imageUrl) {
ImageView img = (ImageView) gridView.findViewWithTag(report
.getSmallPpath());
if (img != null && imageDrawable != null) {
drawables.put(report.getSmallPpath(), new
SoftReference<Drawable>(imageDrawable));
img.setLayoutParams(new LinearLayout.LayoutParams(120, 150));
img.setScaleType(ImageView.ScaleType.FIT_CENTER);
img.setImageDrawable(imageDrawable);
Log.i("view", position + "aic");
}
}
});
}
if (report.getIsLoad() != null && report.getIsLoad().equals("yes")) {
tv = (TextView) convertView.findViewById(R.id.yjbg_book_item_tv);
bar = (ProgressBar) convertView
.findViewById(R.id.yjbg_book_item_pro);
bar.setVisibility(View.GONE);
tv.setText("100%");
}
convertView.setLayoutParams(new AbsListView.LayoutParams(125, 210));
return convertView;
}
}