J'ai donc essayé de faire une petite pause de deux secondes entre chaque fois que je veux écrire un nouveau message en utilisant "Settext".
public void welcomeMessage(String message) throws InterruptedException { Handler handler = new Handler(); handler.postDelayed(new Runnable() { public void run() { welcomeText.setAlpha(0f); welcomeText.setText(message); welcomeText.animate().setDuration(2000).alpha(1.0f); } }, 2000); //2 seconds }
3 Réponses :
Ce qui semble se produire est que votre Vous voudrez probablement définir des retards séparés sur chacun de vos messages de bienvenue. Cela signifierait 2 secondes pour le premier message, 4 secondes pour la seconde et 6 pour la troisième. P> gestionnaire code> est déclenché deux secondes après sa création, pas deux secondes après que le gestionnaire précédent ait fait sa chose. P>
Excellente nouvelle! N'oubliez pas de uploter et d'accepter (cochez) cette réponse.
dans la méthode Alors, que se passe-t-il que ces 3 runnables seront tous exécutés après votre 2000 millis, c'est donc pourquoi vous ne voyez que l'effacement de ce troisième exécutable. Donc, oui, vous pouvez les programmer avec un délai différent (il y a donc un écart de temps entre eux), soit 2000, 4000, 6000. P> welcomemessage code> Vous créez un nouveau gestionnaire code> chaque fois que cela publie un
r
Runnable code> qui doit être exécuté différé sur le même thread que le gestionnaire
code> a été créé.
public void welcomeMessage(String message, int delay) throws InterruptedException {
Handler handler = new Handler();
handler.postDelayed(new Runnable() {
public void run() {
welcomeText.setAlpha(0f);
welcomeText.setText(message);
welcomeText.animate().setDuration(2000).alpha(1.0f);
}
}, delay);
}
showMessage("hello", 2000);
showMessage("lets play the game", 4000);
Merci beaucoup pour votre temps et pour votre réponse.
Au lieu d'appeler une méthode trois fois et de la mettre dans le gestionnaire, essayez ceci
Stockez les messages dans une matrice de chaîne p> } p> p >
Qu'est-ce que vous attendez exactement?
Bienvenue. "2 secondes de pause" C'est le premier message. "2 secondes de pause".
Assurez-vous que vous exécutez le code qui change l'interface utilisateur sur le thread ui i>: développeur.android.com/training/multiple-threads/.../a>