Bonjour
Je suis en train de récupérer des informations sur Internet : pendant ce traitement je veux afficher un fenêtre indiquant qu'il y a un traitement en cours (du type ProcessDialog) et je veux bloquer pendant ce temps là la thread principale.
J'ai fait ce type de classe :
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 public class Internet { //... public String Execute() { final ProgressDialog prd = ProgressDialog.show(ctx, "...", "...", true, false); Traitement(); prd.dismiss(); return "OK"; } //....
Le ProgressDialog ne s'affiche pas. Si j'enlève la ligne concerne le traitement et l'appel à la fonction "dismiss", le ProgressDialog va s'afficher dans ce cas là.
Pourquoi ?
Autre test : j'ai utilisé une thread que je démarre dans ma fonction "Execute": dans ce cas là, j'arrive à faire tourner le traitement avec le ProgressDialog mais par contre je sors de ma fonction "Execute" avant la fin de la thread (en fait la fonction Execute doit retourner une valeur déterminée dans le traitement de récupération => il me faut donc attendre la fin du traitement avant de retourner la valeur)
Quelqu'un aurait-il une idée sur le sujet ?
Merci d'avance
Partager