Ich entwickle eine Anwendung, die Timer für einen bestimmten Zweck verwenden muss. Was ich tun muss ist, einen Timer zu setzen, wenn eine Bedingung erfüllt ist und es entsprechend zu löschen. Dann darf ich wieder den gleichen Timer starten, den ich abgebrochen habe. Bitte geben Sie eine Lösung an.Wiederverwendung eines Timers nach dem Abbrechen
0
A
Antwort
0
Für einen einzigen Timer Android setzt einen einzelnen Thread. Wenn Sie diesen Timer abbrechen, wird der Ausführungs-Thread ordnungsgemäß beendet und es können keine weiteren Aufgaben geplant werden. Sie müssen also eine neue Instanz des Timer-Objekts erstellen. können Sie tun, wie unten gezeigt.
if(condition == true)
{
timer = new Timer();
timer.schedule(new TimerTask(), delay, span);
}
else{
timer.cancel();
}
0
erstellen CountDownTimer
Klasse wie:
public class MyCount extends CountDownTimer {
public MyCount(long millisInFuture, long countDownInterval) {
super(millisInFuture, countDownInterval);
}
@Override
public void onFinish() {
// do something of finish timer
}
@Override
public void onTick(long millisUntilFinished) {
// do something on tick of timer
}
}
und sollte ein Objekt von MyTimer wie unten machen:
MyCount timerCount = new MyCount(<TIME_UNTIL_FINISH_MILLISECONDS>, <TIME_OF_EACH_TICK>);
und Timer starten kann überall Sie wollen mit:
timerCount.start();
und Abbrechen mit:
timerCount.cancel();
Verwandte Themen
- 1. Abbrechen ProgressDialog nach dem Ausführen zwischen Dialogen
- 2. PyQt4 - Erstellen eines Timers
- 3. Stoppen eines Timers
- 4. Verwenden eines Timers zum Loop
- 5. Einstellen eines Timers auf Benutzerinteraktion
- 6. Verwenden eines Timers in C#
- 7. Aktivieren eines bereits aktivierten Timers
- 8. Arduino Timer innerhalb eines Timers
- 9. Android-Relaunch-Timer nach dem Abbrechen
- 10. Abbrechen UIScrollView Bounce nach dem Ziehen
- 11. Schalten eines Relais jeden Zyklus eines Timers
- 12. Erstellen eines Timers innerhalb eines Funke-Kontexts
- 13. Neustarten (Wiederverwendung) eines Anwendungspools
- 14. Abbrechen eines Socket.xxxxAsync-Aufrufs
- 15. iPhone Hinzufügen eines Timers in der Navigationsleiste
- 16. Problem mit Hilfe eines Timers progressbar aktualisieren
- 17. Implementieren eines mehrseitigen Timers in Qualtrics
- 18. Wiederverwendung eines XML in C#
- 19. AsyncTask.onCancelled() wird nach dem Abbrechen nicht aufgerufen (true)
- 20. Abbrechen eines InnoSetup Installateur
- 21. Implementierung eines Countdown-Timers in Objective-c?
- 22. Verspottung eines C# -Timers mit Moq
- 23. Fehler beim Erstellen eines Timers in EJB
- 24. Synchronisieren eines Timers, um Überlappungen zu vermeiden
- 25. Matlab - Hinzufügen eines Timers zu einem Diagramm
- 26. Erstellen eines Countdown-Timers in Silverlight
- 27. Hinzufügen eines Timers zu meinem Code
- 28. Aufgabe nach Zeit abbrechen
- 29. Wiederverwendung eines privaten Git Repo
- 30. Programmgesteuert Abbrechen eines SharePoint-Workflows
Sie können nicht den gleichen Timer verwenden. Also müssen Sie eine neue Instanz davon erstellen. – aravindkanna