1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64
| public class RssListAdapter extends ArrayAdapter<Evenement> {
Context mContext;
String currentPath;
public RssListAdapter(Context context, List<Evenement> evenementList,
String path) {
super(context, 0, evenementList);
mContext = context;
currentPath = path;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
final Evenement evenement = getItem(position);
final RssItemWrapper rssItem;
rssItem = new RssItemWrapper();
LayoutInflater inflater = LayoutInflater.from(mContext);
rssItem.rootLayout = (LinearLayout) inflater.inflate(R.layout.rssitem, null);
rssItem.rootLayout.setLayoutParams(new AbsListView.LayoutParams(parent.getWidth(), LayoutParams.WRAP_CONTENT));
rssItem.rssTitle = (TextView) rssItem.rootLayout.findViewById(R.id.nameLabel);
rssItem.rssImage = (ImageView) rssItem.rootLayout.findViewById(R.id.itemimage);
try {
if (evenement != null) {
rssItem.rssTitle.setText(evenement.getTitre());
if (evenement.getImagePath() != null) { // si image déjà chargée
rssItem.rssImage.setImageBitmap(Utils.readBitmap(evenement
.getImagePath(), 117, 79));
rssItem.rssImage.setVisibility(View.VISIBLE);
} else if (evenement.getImage() != null) { // charger image
ImageLoadTask loadImageTask = new ImageLoadTask();
loadImageTask.addOnImageLoadListener(new OnImageLoadListener() {
public void onPrepare() {
}
public void onFinished(String result) {
if(result == null) return;
rssItem.rssImage.setImageBitmap(Utils
.readBitmap(result, 117, 79));
rssItem.rssImage
.setVisibility(View.VISIBLE);
evenement.setImagePath(result);
}
});
loadImageTask.execute(evenement.getImage(), currentPath + "/" + position + ".jpg");
evenement.setImageLoadTask(loadImageTask);
}else{
Drawable image = mContext.getResources().getDrawable(R.drawable.els_cellimage_placeholder);
rssItem.rssImage.setImageDrawable(image);
}
}
} catch (Exception e) {
}
rssItem.rootLayout.setTag(rssItem);
return rssItem.rootLayout;
}
} |
Partager