garcinjean2000 Posté(e) 2 juin 2012 Share Posté(e) 2 juin 2012 Bonjour à tous, comme le sujet l'indique, j'aimerais afficher une vue, puis une autre au bout de quelques secondes. Voilà ce que j'ai fait : long temps=0; TextView texte1=new TextView(this); TextView texte2=new TextView(this); texte1.setText("a"); texte2.setText("b"); setContentView(texte1); temps=System.currentTimeMillis(); while(System.currentTimeMillis()-temps<4000){} setContentView(texte2); Mais au lieu de m'afficher les deux vues à 4 secondes d'intervalle, l'écran reste noir 4 secondes puis la deuxième vue s'affiche. Comment dois-je faire? Lien vers le commentaire Partager sur d’autres sites More sharing options...
tylers Posté(e) 3 juin 2012 Share Posté(e) 3 juin 2012 utilise les intent ou les handler, la tu freezes ton programme avec ton while et en fait tu changes de vue avant d'avoir affiché la premiere vue. L'affichage ne se fera qu'après ton code, comme il est géré par android, tu ne vois pas les appels des fonctions onDraw notamment, je pense qu'il faut que tu te renseignes un peu sur comment marchent les cycles d'Android. En attendant tu peux essayer ce code, j'ai pas testé donc peut etre que ca ne marchera pas tel quel mais c'est l'esprit: setContentView(texte1); new Handler().postDelayed(new Runnable() { public void run() { setContentView(texte2); } }, 4000); Lien vers le commentaire Partager sur d’autres sites More sharing options...
garcinjean2000 Posté(e) 4 juin 2012 Auteur Share Posté(e) 4 juin 2012 Ca marche bien, merci beaucoup! Lien vers le commentaire Partager sur d’autres sites More sharing options...
Recommended Posts
Archivé
Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.