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"); } }; };
Partager