Bonjour,

J'ouvre un second sujet pour un deuxième problème qui commence à me rendre un peu fou ^^;

Le contexte est :
- J'ai une Activity qui contient un ListView
- Ce ListView est initialisé à l'aide d'un ArrayAdapter personnalisé
- Chaque élément de la liste comportant une photo téléchargée sur internet, il est un peu long à afficher (100-150 éléments en moyenne) donc je souhaite les afficher avec une photo par défaut et ensuite, au sein d'une tâche asynchrone, télécharger les photos petit à petit et les mettre à jour dans la liste

Element de la liste
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
 
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:background="@color/white"
    android:orientation="horizontal" >
    <ImageView
        android:id="@+id/iBrPhoto"
        android:layout_width="65dp"
        android:layout_height="40dp"
        android:scaleType="fitXY"
        android:layout_marginRight="15dp"/>
    <LinearLayout
        android:layout_width="wrap_content"
        android:layout_height="fill_parent"
        android:orientation="vertical" >
	    <TextView
	        android:id="@+id/tvTitle"
	        android:layout_width="wrap_content"
	        android:layout_height="22dp"
        	android:gravity="center_vertical"
        	android:textAppearance="@style/lv_chann_br_item_title" />
	    <LinearLayout
	        android:layout_width="wrap_content"
	        android:layout_height="18dp"
	    	android:orientation="horizontal" >
		    <TextView
		        android:id="@+id/tvHour"
		        android:layout_width="wrap_content"
		        android:layout_height="fill_parent"
        		android:gravity="center_vertical"
        		android:textAppearance="@style/lv_chann_br_item" />
		    <TextView
		        android:layout_width="wrap_content"
		        android:layout_height="fill_parent"
        		android:gravity="center_vertical"
        		android:textAppearance="@style/lv_chann_br_item"
		        android:text=" - " />
		    <TextView
		        android:id="@+id/tvType"
		        android:layout_width="wrap_content"
		        android:layout_height="fill_parent"
        		android:gravity="center_vertical"
        		android:textAppearance="@style/lv_chann_br_item" />
		    <TextView
		        android:layout_width="wrap_content"
		        android:layout_height="fill_parent"
        		android:gravity="center_vertical"
        		android:textAppearance="@style/lv_chann_br_item"
		        android:text=" - " />
		    <TextView
		        android:id="@+id/tvChannel"
		        android:layout_width="wrap_content"
		        android:layout_height="fill_parent"
        		android:gravity="center_vertical"
        		android:textAppearance="@style/lv_chann_br_item" />
	    </LinearLayout>
    </LinearLayout>
</LinearLayout>
Ma tâche Asynchrone
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
 
    private class DownloadPhotoTask extends AsyncTask<Integer, Void, Bitmap> {
    	LinearLayout brView;
    	ImageView iv;
 
		@Override
		protected Bitmap doInBackground(Integer... params) {
			Bitmap ret = null;
			for (Integer index : params) {
				View v = broadcastsListView.getChildAt(Integer.parseInt(index.toString()));
 
				if (v == null) {
					brView = new LinearLayout(getApplicationContext());
					String inflater = Context.LAYOUT_INFLATER_SERVICE;
					LayoutInflater vi = (LayoutInflater)getApplicationContext().getSystemService(inflater);
					vi.inflate(R.layout.videos_broadcast_item, brView, true);
 
				}
				else {
					brView = (LinearLayout)v;
				}
 
				ret = ImageUtils.LoadBitmap(ImageUtils.GetImageUrl(broadcasts.get(index).getPhotoId()), getApplicationContext());
			}
			return ret;
		}
 
		@Override
		protected void onPostExecute(Bitmap bmp) {
			iv = (ImageView)brView.findViewById(R.id.iBrPhoto);
			Drawable[] layers = new Drawable[2];
			layers[0] = new BitmapDrawable(bmp);
			layers[1] = getApplicationContext().getResources().getDrawable(R.drawable.play_big);
			layers[1].setBounds(10, 10, 10, 10);
			LayerDrawable layerDraw = new LayerDrawable(layers);
			iv.setImageDrawable(layerDraw);
		}
	}
Le problème est que le téléchargement s'effectue bien... La mise à jour se fait sans soucis (j'ai testé sur les 10 premiers éléments)...

MAIS !

Quand je scrolle vers le bas, et que je remonte, les images ont disparues... et voila le noeud du problème >_<

j'ai essayé de rajouter aaBr.notifyDataSetChanged(); à la fin de mon onPostExecute, mais ça se contente de ne rien m'afficher du tout...

Je remercie par avance toute personne capable et voulant bien m'aider ^^