Wie ruft man eine Funktion mit Verzögerung in Kotlin auf?
Hallo zusammen! Ich bin neu in Kotlin und der Android-Entwicklung. Ich habe ein einfaches Szenario: Nach einem Button-Klick muss ich 2 Sekunden warten und dann eine Aktion ausführen (z.B. einen Toast anzeigen oder den Text auf dem Bildschirm ändern). Ich habe versucht, Thread.sleep() zu verwenden, aber das friert die gesamte Benutzeroberfläche ein, und die App reagiert nicht mehr auf Berührungen. Hier ist mein Code:
```kotlin
button.setOnClickListener {
Thread.sleep(2000) // Die App friert ein!
textView.text = "2 Sekunden sind vergangen"
}
```
Ich verstehe, dass das falsch ist, weil ich den Hauptthread (UI-Thread) blockiere. Aber wie macht man das richtig in Kotlin? Ich habe von Coroutinen, Handler und Timern gehört, verstehe aber nicht, welcher Ansatz für eine einfache Verzögerung am besten geeignet ist. Ich brauche eine Lösung, die auf Android funktioniert und keine zusätzlichen Bibliotheken (außer den Standardbibliotheken) erfordert. Bitte erklären Sie anhand von Beispielen, wie man eine Funktion nach einer bestimmten Zeitspanne korrekt aufruft, ohne die Benutzeroberfläche zu blockieren. Vielen Dank im Voraus!
Noch keine Antworten.
Anmelden um eine Antwort zu hinterlassen
Blogs