Je fais une horloge d'échecs mais j'ai besoin d'un délai (Comme il attend 10 secondes avant de compter). J'ai utilisé un gestionnaire pour cela mais si le bouton est cliqué dans les 10 secondes, rien ne se passe. S'il vous plaît aider! Merci! Mon code:Délai pour CountDown Timer - Android
mHandler.postDelayed(new Runnable() {
public void run() {
// count down timer start
timer2 = new CountDownTimer(totalSeconds, Integer.parseInt(delay.getText().toString())) {
public void onTick(long millisUntilFinished) {
secondsTimer = (int) (millisUntilFinished/1000) % 60;
minutesTimer = (int) ((millisUntilFinished/(1000 * 60)) % 60);
hoursTimer = (int) ((millisUntilFinished/(1000 * 60 * 60)) % 24);
person2.setText(hoursTimer + ":" + minutesTimer + ":" + secondsTimer);
}
public void onFinish() {
person2.setText("Time Up!");
person2.setBackgroundColor(Color.RED);
mp.start();
}
}.start();
}
}, finalDelay);
Je veux un retard mais je ne veux pas verrouiller l'interface utilisateur et de faire l'application ne répond pas comme il le fait en ce moment avec le gestionnaire. Toute aide serait appréciée! Merci d'avance!
Merci, la réponse semble utile, mais pourriez-vous expliquer ce qui se passe dans la méthode 'startHandlerAfterWaited10Seconds()' J'ai upvoted votre réponse pour la trouver utile! –
Hi Kharbanda, La méthode que vous avez mentionnée comme agissant comme compte à rebours. Et la raison pour laquelle je vous suggère d'utiliser Handler au lieu de CountDown timer class est: - Handler devrait avoir de meilleures performances que CountDown timer class. Vous pouvez trouver utile de se référer ici http://stackoverflow.com/questions/35497844/handler-postdelayedrunnable-vs-countdowntimer En outre, CounDown timer effectivement implémenté Handler dans son noyau. –
Ok Merci! J'ai trouvé votre explication utile ainsi que le site web! Merci beaucoup. Mais juste pour être sûr, le compte à rebours est la méthode 'startHandlerAndWait10Seconds()' right? –