Derzeit in meiner App habe ich den Benutzer mehrere Countdown-Timer erstellen, wenn sie auf eine Schaltfläche klicken. Ich möchte jeden Countdown-Timer mit einer Abbrechen-Taste verknüpfen, die es dem Benutzer ermöglicht, den Countdown-Timer abzubrechen. Zur Zeit habe ich eine Funktion, die den Countdown-Timer mit cdt.cancel() beendet, wobei cdt der countdowntimer var ist. Das erlaubt mir jedoch nur das cdt abzubrechen, das zuvor erstellt wurde. Gibt es eine Möglichkeit, den Countdown-Timer davor abzubrechen?So steuern Sie mehrere CoundownTimer in Android
-5
A
Antwort
0
Ich würde so etwas tun:
private void startNewTimer(List<CountDownTimer> listOfTimers) {
CountDownTimer countDownTimer = new CountDownTimer(1000,1000) {
@Override
public void onTick(long millisUntilFinished) {
}
@Override
public void onFinish() {
}
}.start();
listOfTimers.add(countDownTimer);
}
private boolean cancelTimers(List<CountDownTimer> listOfTimers) {
if(listOfTimers != null && !listOfTimers.isEmpty()) {
for(CountDownTimer cdt : listOfTimers) {
cdt.cancel();
}
listOfTimers = null;
return true;
}
return false;
}
Vielleicht möchten Sie Ihre erstellen List<CountDownTimer> listOfTimers
als eine globale Variable (List<CountDownTimer> listOfTimers = new ArrayList<>()
)
Sie würden rufen die startNewTimer(list)
aus der onClick
Methode Ihrer Taste OnClickListener
und die stopTimers
, wo Sie es für richtig halten.
Wenn Sie eine bestimmte abbrechen Abbrechen Sie es durch seinen Index in den List
mag diese Referenz könnte:
private boolean stopTimer(List<CountDownTimer> listOfTimers, int index) {
if(listOfTimers != null && listOfTimers.size() > index) {
for(int i = 0; i < listOfTimers.size(); i++) {
listOfTimers.get(i).cancel();
}
return true;
}
return false;
}
Verwandte Themen
- 1. steuern mehrere cc2541 module
- 2. So steuern Sie die Typumwandlung in C#
- 3. So steuern Sie die Reihenfolge von CompositeCommand
- 4. So steuern Sie QProgressBar mit Signal
- 5. So steuern Sie eine lange laufende Abfrage
- 6. So entfernen Sie Total und Steuern?
- 7. AVFoundation - So steuern Sie die Belichtung
- 8. So steuern Sie die Systemlautstärke mit JavaScript
- 9. Android Service steuern MediaPlayer
- 10. Steuern App-Ausführung in Android
- 11. So behandeln Sie mehrere Layout-Klicks in RecyclerView in Android
- 12. Android: Steuern von DB Versionen
- 13. So erhalten Sie mehrere Rückgabewert von JSON in Android
- 14. So rufen Sie mehrere ArrayList einzeln in GridView Android
- 15. So legen Sie mehrere Benachrichtigungen mit AlarmManager in Android fest
- 16. So vermeiden Sie mehrere Rückrufstufen in Android mit Geofences
- 17. So erstellen Sie mehrere Tabellen in Android Studio-Datenbank
- 18. So steuern Sie den Ablauf von Anwendungen in NodeJS
- 19. So steuern Sie die Textgrößenänderungsrate in der HTML-Seite
- 20. So steuern Sie die Verarbeitung des Dateiconnectors in MULESOFT
- 21. So steuern Sie die Geschwindigkeit eines automatischen Bildlaufs in uitextview
- 22. So steuern Sie die Ausgabe von Daten in @foreach
- 23. So steuern Sie die Größe von Bildanhängen in einer NSTextView
- 24. So steuern Sie die Ladereihenfolge mehrerer Bilder in openseadragon
- 25. So steuern Sie die CallKit Speaker-Taste in IOS 10
- 26. So steuern Sie die Reihenfolge der Modulinitialisierung in Prism
- 27. So steuern Sie die Anzahl der Zeilen in einem JasperReports
- 28. So steuern Sie die Layer-Reihenfolge in Virtual Earth
- 29. So steuern Sie die Sichtbarkeit von Menüelementen durch Kontrollkästchen in Android Studio
- 30. Mehrere Tabellenansichten in einer einzigen Ansicht steuern
Bitte fügen – Stefan
Speicher, um andere Timer in einer anderen Variablen oder sogar eine Liste Code –