Bonjour,

Dans mon appli Android, l'ACTIVITY A appelle l'ACTIVITY B.
L'ACTIVITY B affiche une ListView, en fonction d'un critère sélectionné dans la l'ACTIVITY A.
La ListView affiche des données qui proviennent d'une BD Sqlite embarquée.

Et je souhaiterai donc afficher une progressDialog à l'ouverture de l'ACTIVITY B, le temps du chargement des données qui proviennent de la BD embarquée.

J'ai trouvé des tutoriaux intéressants qui me mettent sur la voie.
Mais je n'en ai pas trouvé qui m'indique comment voir où en est le chargement des données qui proviennent de la BD.

J'ai le code ci dessous sous la main, mais j'imagine qu'il faudrait que je remplace le sleep(5000) par le chargement de mes données .... mais savez vous comment faire ?

Merci par avance pour ceux qui pourront m'aider.

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
private void traitementDesDonneesAvecPourcentage() {
 
		// On ajoute un message à notre progress dialog
		progressDialog.setMessage("Chargement en cours");
		// On donne un titre à notre progress dialog
		progressDialog.setTitle("Mon chargement");
		// On spécifie le style 
		progressDialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
		// On spécifie le maximum
		progressDialog.setMax(10);
		// On affiche notre message
		progressDialog.show();
 
		new Thread(new Runnable() {
			@Override
			public void run() {
				// Boucle de 1 a 10
				for (int i = 0; i < 10; i++) {
					try {
						// Attends 500 millisecondes
						Thread.sleep(500);
						// On change la valeur de la progression
						progressDialog.setProgress(i+1);
					} catch (InterruptedException e) {
						e.printStackTrace();
					}
				}
 
				handler.sendEmptyMessage(0);
 
				// A la fin du traitement, on fait disparaitre notre message
				progressDialog.dismiss();
			}
		}).start();	
	}
 
	private void traitementDesDonnees() {
 
		// On ajoute un message à notre progress dialog
		progressDialog.setMessage("Chargement en cours");
		// On affiche notre message
		progressDialog.show();
 
		new Thread(new Runnable() {
			@Override
			public void run() {
				// Boucle de 1 a 10
				for (int i = 0; i < 10; i++) {
					try {
						// Attends 500 millisecondes
						Thread.sleep(500);
					} catch (InterruptedException e) {
						e.printStackTrace();
					}
				}
 
				handler.sendEmptyMessage(0);
 
				// A la fin du traitement, on fait disparaitre notre message
				progressDialog.dismiss();
			}
		}).start();
	}
 
	private Handler handler = new Handler() {
		public void handleMessage(android.os.Message msg) {
			if(msg.what == 0) {
				monBouton.setText("C'est bon");
			}
		};
	};