Avatar ·

Wie man eine Methode mit Verzögerung in Android (Java) aufruft

Hallo zusammen! Ich bin neu in der Android-Entwicklung und schreibe in Java. Ich bin auf folgendes Problem gestoßen: Nach einem Button-Klick soll eine Toast-Nachricht auf dem Bildschirm erscheinen, aber nicht sofort, sondern nach 3 Sekunden. Ich habe versucht, Thread.sleep(3000) im UI-Thread zu verwenden, aber die App friert ein und der Toast erscheint nicht. Ich habe gelesen, dass man das nicht tun sollte. Hier ist mein Code: ```java public void onClick(View v) { try { Thread.sleep(3000); } catch (InterruptedException e) { e.printStackTrace(); } Toast.makeText(this, "Hallo nach 3 Sekunden!", Toast.LENGTH_SHORT).show(); } ``` Es ist klar, dass Thread.sleep den Hauptthread blockiert und die UI nicht aktualisiert wird. Wie implementiere ich die Verzögerung richtig, damit die App nicht einfriert? Ich habe Erwähnungen von Handler und Timer gesehen, verstehe aber nicht, wie man sie in diesem einfachen Szenario richtig anwendet. Ich wäre dankbar für ein detailliertes Beispiel mit Erklärung. <<>>

Verwendung von Handler für verzögerte Ausführung

Das Problem in Ihrem Code ist die Blockierung