Pierre87 Posté(e) 15 février 2010 Share Posté(e) 15 février 2010 Juste une question parce que je suis feignant :P Je connais les diverses méthodes pour exécuter une action dans le thread graphique : - directement dans un élément graphique - Runnable passé à View.post() - Runnable dans un ASyncTask Connaissez vous une autre méthode, aussi simple que le View.post(), mais qui ne demande pas d'avoir accès à une View (comme ASyncTask) ? Merci Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
popolbx Posté(e) 15 février 2010 Share Posté(e) 15 février 2010 yes, essaye ça: si tu es dans une activity Toto, dans laquelle tu fais tourner le thread: Toto.this.runOnUiThread(new Runnable(){ public void run() { }); runOnUIThread est sur le context je suppose. Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Pierre87 Posté(e) 15 février 2010 Auteur Share Posté(e) 15 février 2010 Merci pour cette méthode que je ne connaissais pas ! Mais en fait je suis dans mon objet Application :/ Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Galize Posté(e) 16 février 2010 Share Posté(e) 16 février 2010 J'utilise Handler.post(Runnable) pour ma part Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Pierre87 Posté(e) 16 février 2010 Auteur Share Posté(e) 16 février 2010 J'utilise Handler.post(Runnable) pour ma part Et tu es sûr que ça s'exécute dans le Thread graphique ? D'après ce que j'ai lu, il faut l'instancier quand on est dans le Thread UI. Moi je suis dans mon objet Application. Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Galize Posté(e) 16 février 2010 Share Posté(e) 16 février 2010 Oui, je l'initialise sur le premier appel qui est dans le thread graphique. Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Pierre87 Posté(e) 16 février 2010 Auteur Share Posté(e) 16 février 2010 Et tu sais si Application.onCreate() est dans le thread UI ? Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Pierre87 Posté(e) 17 février 2010 Auteur Share Posté(e) 17 février 2010 Ok, je viens donc de trouver la méthode qu'il me fallait : Handler.post(Runnable) Et j'instancie mon Handler dans Application.onCreate() 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.