Bonjour à tous, je récupère des données grâce à un parser XML qui utilise la méthode SAX. J'ai utiliser ce tutoriel (http://thibault-koprowski.fr/2010/10...-sous-android/

la fonction getThumb me renvoie l'adresse url de l'image de chaque article et j'aimerais l'afficher dans un ImageView mais je n'arrive pas à l'adapter dans mon ADAPTER et c'est pour cela que je fais appel à vous !!! Merci de votre aide



Voici mon adapter :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
 
package com.rssreader;
 
import java.util.ArrayList;
 
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.TextView;
 
public class ListFeedAdapter extends BaseAdapter {
 
	// les données à afficher
	private ArrayList<Feed> feeds;
 
	// * Le LayoutInflater permet de parser un layout XML et de 
	// * te transcoder en IHM Android. Pour respecter l'interface 
	// * BaseAdapter 
 
	private LayoutInflater inflater;
 
	public ListFeedAdapter(Context context,ArrayList<Feed> feeds) {
		inflater = LayoutInflater.from(context);
		this.feeds = feeds;
 
	}
 
	// * il nous faut spécifier la méthode "count()". 
	// * Cette méthode permet de connaître le nombre d'items présent 
	// * dans la liste. Dans notre cas, il faut donc renvoyer le nombre
	// * de personnes contenus dans "mListP".
 
	public int getCount() {
		return feeds.size();
	}
 
 
	 // Permet de retourner un objet contenu dans la liste
 
	public Object getItem(int index) {
		return feeds.get(index);
	}
 
	public long getItemId(int index) {
		return this.feeds.get(index).getId();
 
	}
 
 
	 // * Voici la partie la plus complexe de la classe
 
	public View getView(int position, View convertView, ViewGroup parent){
		// * Le paramètre "convertView" permet de recycler les élements 
		// * de notre liste. En effet, l'opération pour convertir un layout 
		// * XML en IHM standard est très couteuse pour la plateforme Android. 
		// * On nous propose ici de réutiliser des occurences créées qui ne sont 
		// * plus affichées. Donc si ce paramètre est "null" alors, il faut "inflater" 
		// * notre layout XML, sinon on le réutilise
		FeedView fv;		
 
		if (convertView == null) {
			fv = new FeedView();
			convertView = inflater.inflate(R.layout.feed_view, null);
 
			fv.thumb = (TextView)convertView.findViewById(R.id.thumb);			
			fv.title = (TextView)convertView.findViewById(R.id.title);
			fv.pubDate = (TextView)convertView.findViewById(R.id.pub_date);
			convertView.setTag(fv);
 
		} else {
			fv = (FeedView) convertView.getTag();
		}						
		fv.thumb.setText(feeds.get(position).getThumb());
		fv.pubDate.setText(feeds.get(position).getPubDate());
		fv.title.setText(feeds.get(position).getTitle());
		return convertView;
	}
 
}

Et voici un moyen d'afficher l'image grâce à la classe Bitmap

Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
65
66
67
 
package com.img;
 
import java.io.IOException;
import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.URL;
import java.net.URLConnection;
 
import android.app.Activity;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.os.Bundle;
import android.widget.ImageView;
 
public class ImageTestActivity extends Activity {
 
String image_URL=
 "http://java.sogeti.nl/JavaBlog/wp-content/uploads/2009/04/android_icon_256.png";
 
   /** Called when the activity is first created. */
   @Override
   public void onCreate(Bundle savedInstanceState) {
       super.onCreate(savedInstanceState);
       setContentView(R.layout.main);
 
       ImageView bmImage = (ImageView)findViewById(R.id.img);
    BitmapFactory.Options bmOptions;
    bmOptions = new BitmapFactory.Options();
    bmOptions.inSampleSize = 1;
    Bitmap bm = LoadImage(image_URL, bmOptions);
    bmImage.setImageBitmap(bm);
   }
 
   private Bitmap LoadImage(String URL, BitmapFactory.Options options)
   {       
    Bitmap bitmap = null;
    InputStream in = null;       
       try {
           in = OpenHttpConnection(URL);
           bitmap = BitmapFactory.decodeStream(in, null, options);
           in.close();
       } catch (IOException e1) {
       }
       return bitmap;               
   }
 
private InputStream OpenHttpConnection(String strURL) throws IOException{
 InputStream inputStream = null;
 URL url = new URL(strURL);
 URLConnection conn = url.openConnection();
 
 try{
  HttpURLConnection httpConn = (HttpURLConnection)conn;
  httpConn.setRequestMethod("GET");
  httpConn.connect();
 
  if (httpConn.getResponseCode() == HttpURLConnection.HTTP_OK) {
   inputStream = httpConn.getInputStream();
  }
 }
 catch (Exception ex)
 {
 }
 return inputStream;
}
}