garcinjean2000 Posted June 2, 2012 Share Posted June 2, 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? Link to comment Share on other sites More sharing options...
tylers Posted June 3, 2012 Share Posted June 3, 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); Link to comment Share on other sites More sharing options...
garcinjean2000 Posted June 4, 2012 Author Share Posted June 4, 2012 Ca marche bien, merci beaucoup! Link to comment Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.