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