Profete162 Posté(e) 6 décembre 2009 Share Posté(e) 6 décembre 2009 (modifié) 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é 6 décembre 2009 par Profete162 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Cyril Mottier Posté(e) 6 décembre 2009 Share Posté(e) 6 décembre 2009 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). Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Recommended Posts
Rejoignez la conversation
Vous pouvez poster maintenant et vous enregistrez plus tard. Si vous avez un compte, connectez-vous maintenant pour poster.