garcinjean2000 Posté(e) 2 juin 2012 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?
tylers Posté(e) 3 juin 2012 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);
Recommended Posts
Archivé
Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.