Bonjour,
j'ai essayé de faire l'affichage de mes items à l'aide d'un ViewGrid le problème c'est que pour le premier affichage tout va bien mais si je fais un autre run l'ecran se bloque et rien ne s'affiche et lorsque j'appuie sur le bouton HOME de mon emulateur une tel erreur s'affiche

j'ai pensé qu'il s'agit d'un problème de memoire pour cela j'ai utilisé les threads mais le problème reste le mm voici le code que j'ai saisi

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
 
public class Rayon extends Activity {
	private ContainerData container;
	private Thread thread;
	private Handler handler;
	private ArrayList<MyDep> mesDep = new ArrayList<MyDep>();
	private GridView gridview;
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		// TODO Auto-generated method stub
		super.onCreate(savedInstanceState);
		setContentView(R.layout.rayon);
		gridview = (GridView) findViewById(R.id.gridview);
		Log.i("", "begin parsing");
		thread = new Thread(){
        	public void run(){
 
        		container = new ContainerData();
        		mesDep = container.parseDep();
		        handler.sendEmptyMessage(0);    			
        	};
        };
        thread.start();
		Log.i("", "begin view");
		  handler = new Handler(){
	    		public void handleMessage(Message msg) { 
	    			if(msg.what == 0) {
	    				 gridview.setAdapter(new ImageAdapter(Rayon.this, mesDep));
	    			}
	    		}
	        };
 
	}
la classe ImageAdapter hérite de BaseAdapter cela et le code de la méthode getView()

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
 
	@Override
	public View getView(int arg0, View arg1, ViewGroup arg2) {
	MyIcon icon;
	Log.i("", "inflater");
	if (arg1 == null)
	{
		arg1 = myInflater.inflate(R.layout.icon, null);
		icon = new MyIcon();
		icon.txt = (TextView) arg1.findViewById(R.id.viewDep);
		icon.image = (ImageView) arg1.findViewById(R.id.imageIcon);
		arg1.setTag(icon);
	} else {
		icon = (MyIcon) arg1.getTag();
	}
	Log.i("", "recuperer the path");
    String sousChaine = mesDep.get(arg0).getImagePath().substring(15);
	String sousChaine2 ="http://";
	String url = sousChaine2.concat(sousChaine);
	Bitmap b = telechargerImageBit(url);
	Log.i("", url);
	icon.image.setImageBitmap(Bitmap.createScaledBitmap(b, 60, 60, false));
	Log.i("", "txt");
	icon.txt.setText(mesDep.get(arg0).getName());
	return arg1;
	}