Bonjour à tous,

je fais une petite application podcast afin de lister les emissions de podcasts (image+titre).

J'utilise un image adapter afin de faire ca. Il fonctionne pas mal, sauf que la position recue dans la méthode getView(int position, View convertView, ViewGroup parent) ne dépasse pas 4 éléments (0 à 3), et boucle une fois en m'affichant les memes images.

La méthode DownloadFromUrl fonctionne bien.

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
 
public class ListChannels extends Activity implements OnItemClickListener {
 
	private List<Channel> channels;
	ImageManager manager = new ImageManager();
 
	@Override
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.main2);
	        channels = GestionChannel.INSTANCE.listAllChannel();
		GridView gridview = (GridView) findViewById(R.id.GridView01);
		gridview.setOnItemClickListener(this);
		gridview.setAdapter(new ImageAdapter(this));
	}
 
	public class ImageAdapter extends BaseAdapter {
		Context mContext;
 
                public ImageAdapter(Context c) {
			mContext = c;
         	}
 
		@Override
		public int getCount() {
			return channels.size();       //appelé plusieurs fois!
		}
 
		@Override
		public View getView(int position, View convertView, ViewGroup parent) {
 
			View v;
 
			if (convertView == null) {
				Log.i("act3", "getView - position" + position);
 
				Bitmap bitmap = manager.DownloadFromUrl(getItem(position)
						.getTitle(), getItem(position).getImage(), "pic",
						".jpeg");
 
				Log.i("act3", "title added: " + getItem(position).getTitle());
 
				LayoutInflater li = getLayoutInflater();
 
				v = li.inflate(R.layout.icon, null);
 
				TextView tv = (TextView) v.findViewById(R.id.icon_text);
 
				tv.setText("" + channels.get(position).getTitle());
 
				ImageView iv = (ImageView) v.findViewById(R.id.icon_image);
 
				iv.setImageBitmap(bitmap);
 
			}
			else
			{
					v = convertView;
			}
 
			return v;
        	}
 
		@Override
		public Channel getItem(int position) {
			return channels.get(position);
		}
 
		@Override
		public long getItemId(int position) {
			Log.i("act3", "getItemId");    
			return 0;              //appellé 3 fois au début et une fois apres 
		}
 
	}
 
}
Je me retrouve donc avec une liste de 4 podcasts*2 alors que la liste "channels" contient 12 éléments et eux tous dans l'ordre!

Si vous avez une idée ca m'aiderais beaucoup, car avec moins de 4 elements ca fonctionne niquel.

Merci bien