Bonjour à toutes et à tous,
Dans une application, lors du chargement de fichiers FCH.initPgm();, pour faire patienter l'utilisateur, j'ouvre une fenêtre ProgressDialog comme suit :
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
 
		final ProgressDialog progress = new ProgressDialog(this);
		progress.setTitle("Initialisation");
		progress.setMessage("Ça vient, poussez-pas !");
		progress.show();
		new Thread(new Runnable() {
			public void run()	{
/*				for (int i = 0; i <10000; i++)
					for (int j = 0; j <10000; j++)
				{
						int k = i+j;
				}*/
				FCH.initPgm(); // Tâche qui prend du temps
				runOnUiThread(new Runnable() {
					@Override
					public void run() {
						progress.dismiss();
						deb = false;
						monImg.invalidate();
					}
				});
			}
		}).start();
La fenêtre s'ouvre puis se ferme à la fin de l’initialisation, mais le petit cercle de progression ne bouge pas.

Si je remplace ma procédure d'initialisation FCH.initPgm(); par les deux boucles "for" pour perdre du temps, là le petit cercle tourne correctement.

Une idée du pourquoi du comment ?

Merci de votre aide.

Pierre