Aller au contenu

Modifier le texte d'une alertdialog pendant le chargement?


Profete162

Recommended Posts

Salut

J'ai, pour mon appli, un écran de chargement qui s'exécute pendant de longues opérations de calculs.

Il est codé comme suit:

viewOrders = new Runnable(){
           @Override
           public void run() {
               fetchComments();

           }
       };



   Thread thread =  new Thread(null, viewOrders, "MagentoBackground");
       thread.start();
       m_ProgressDialog = ProgressDialog.show(InfoApp.this,    
             "Please wait...", "This is a really slow process, don't worry!...", true);

et à la fin de fetchComments(), j'ai ceci: runOnUiThread(returnRes), qui est lié avec:

    private Runnable returnRes = new Runnable() {

       @Override
       public void run() {
          (...)
           m_ProgressDialog.dismiss();
           m_adapter.notifyDataSetChanged();
       }
     };

Le petit truc, c'est que mon fetchComments() est divisé en 5 grandes partie de calculs et j'aimerais changer le texte du progressdialog en "étape 1 en cours", "étape 2 en cours", ..., "étape 5 en cours" pendant le chargement!!!

Est-ce que c'est possible facilement ou est ce que je dois passer par 5 threads à la suite?

J'ai vraiment du mal avec cette notion de threads et j'espere que vous pourrez me donner un exemple clair!

Merci d'avance.

Modifié par Profete162
Lien vers le commentaire
Partager sur d’autres sites

Regarde du coté des Handlers : cela te permet de ne plus t'inquiéter de savoir dans quel Thread tu te trouve. Ainsi tu peux faire, dans ton Thread de chargement (donc différent du UIThread), des trucs du genre : mHandler.post(mon_runnable_qui_notifie_de_la_progression). Le contenu de ton Runnable sera exécuté dans l'UIThread.

Il existe aussi une classe instaurée avec Android 1.5 si je me rappelle bien qui se nomme AsynTask. Elle est vraiment pratique pour ce genre de choses et permet de t'abstraire des Threads (très utile si on ne comprend pas trop les moniteurs et la synchronisation Java).

Lien vers le commentaire
Partager sur d’autres sites

Rejoignez la conversation

Vous pouvez poster maintenant et vous enregistrez plus tard. Si vous avez un compte, connectez-vous maintenant pour poster.

Invité
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.

×
×
  • Créer...