2017-07-30 2 views
-4

Ainsi, dans ma demande, il est comme,Dans Android, comment utiliser une minuterie de sorte qu'une fois le temps écoulé, l'application indique "time over"?

  1. Une tâche est à effectuée dans un intervalle de temps donné
  2. Si la tâche est effectuée dans le délai de la minuterie, alors je veux ajouter dire t secondes à le temporisateur
  3. Ensuite, je veux effectuer l'étape 2.
  4. Si la tâche n'est pas effectuée dans le délai de la minuterie, alors l'application dira quelque chose comme "Désolé, le temps est écoulé".

Comment faire? S'il vous plaît aidez-moi avec les API requises et comment les utiliser.

+0

'Handler.postDelayed()'? Et peut-être aussi 'removeCallbacks' ou quoi que ce soit pour pouvoir rajouter la chose avec un délai différent. – EpicPandaForce

Répondre

1

Vous pouvez utiliser un CountDownTimer, consultez ici pour plus de détails: Android documentation for CountDownTimer

+0

Il explique comment effectuer une tâche dans un intervalle de temps. Mais comment ajouter plus de temps à la minuterie? –

+0

Utilisez une variable indiquant countDownTime avec la valeur initiale du compte à rebours dans le constructeur CountDownTimer et mettez 'countDownTime' à jour avec la nouvelle valeur dans' onFinish() 'et relancez-la selon vos besoins – Dilpreet

0

utilisation CountDownTimer pour prendre après le temps est intitulée Mesures prises sur

new CountDownTimer(20000, 1000) { 

    public void onTick(long millisUntilFinished) { 
     textView.setText("seconds remaining: " + millisUntilFinished/1000); 
    } 

    public void onFinish() { 
     textView.setText("succcess"); //or textView.setText("Failed"); 
    } 

}.start();