Je suis en train d'écrire une application de chronométrage pour BlackBerry (similaire au StopWatch intégré de BlackBerry). Il y a une étiquette de minuterie affichant l'heure actuelle au format MM: SS: T (minutes, secondes, dixième de seconde). L'étiquette est actualisée toutes les 100 millisecondes avec TimerTask.TimerTask ne s'exécute pas à un intervalle prédéterminé
L'application fonctionne bien et l'heure est affichée correctement, cependant, il y a des moments où l'étiquette de la minuterie n'est pas mise à jour à l'intervalle prédéterminé (toutes les 100 millisecondes). L'étiquette de minuterie marque une pause (sans compter) pendant un moment et continue à compter (tout en affichant correctement l'heure)
Je pense que la TimerTask n'est pas exécutée pour mettre à jour l'étiquette de la minuterie pendant cette pause. Savez-vous pourquoi l'application agit de cette façon et comment y remédier?
Voici le fil pour mettre à jour l'étiquette de la minuterie:
public class ThreadUpdateTime extends Thread
{
private MyMainScreen myMainScreen;
private Timer updateTimerLabelTimer = new Timer();
public ThreadUpdateTime(MyMainScreen parent)
{
myMainScreen=parent;
}
public void run()
{
try {
updateTimerLabelTimer.schedule(new RecordTimer(myMainScreen), TIMER_DELAY, TIMER_INTERVAL);
} catch (Exception e) {
//put alert here
}
}
public void iStop()
{
updateTimerLabelTimer.cancel();
}
}
le TimerTask:
public class RecordTimer extends TimerTask
{
private MyMainScreen myMainScreen;
public RecordTimer(MyMainScreen parent)
{
myMainScreen=parent;
}
public void run()
{
myMainScreen.iUpdateTimerLabel();
}
}
et la méthode iUpdateTimerLabel:
public void iUpdateTimerLabel()
{
//calculate : sign, sMin, sSec, sTenth
synchronized(Application.getEventLock())
{
lblSpotTime.setText(sign+sMin+":"+sSec+"."+sTenth+" ");
}
}
Suggère que vous postez le code pour votre 'TimerTask' ainsi que le code qui le soumet au' Timer' – andersoj
Cela n'a probablement rien à voir avec le timer, en particulier. Voir connexes: http://stackoverflow.com/questions/2569468/how-do-i-update-blackberry-ui-items-from-a-thread – andersoj