Heim > Java > javaLernprogramm > Wie verwende ich runOnUiThread richtig, um die Android-Benutzeroberfläche aus einem Hintergrundthread zu aktualisieren?

Wie verwende ich runOnUiThread richtig, um die Android-Benutzeroberfläche aus einem Hintergrundthread zu aktualisieren?

Patricia Arquette
Freigeben: 2025-01-01 00:40:10
Original
805 Leute haben es durchsucht

How to Correctly Use runOnUiThread to Update Android UI from a Background Thread?

runOnUiThread in der Android-Entwicklung

Threads in Android sind wichtig, um Aufgaben im Hintergrund auszuführen, ohne den Haupt-UI-Thread zu blockieren. Um mit UI-Elementen aus einem Hintergrundthread zu interagieren, stellt Android die runOnUiThread-Methode bereit.

Missverständnis im bereitgestellten Code

Im angegebenen Code tritt das Problem innerhalb des runThread auf Verfahren. Das Erstellen einer neuen Thread-Instanz mit der Runnable-Implementierung ist korrekt. Die direkte Ausführung von runOnUiThread im Hintergrundthread ist jedoch falsch.

Korrekte Implementierung

Um runOnUiThread ordnungsgemäß zu verwenden, wird empfohlen, ein separates Runnable-Objekt im Hintergrund zu erstellen Thread und übergeben Sie ihn dann an runOnUiThread. Der Haupt-UI-Thread führt dann dieses übergebene Runnable aus, um die UI-Elemente zu aktualisieren.

Hier ist der korrigierte Code für die runThread-Methode:

private void runThread() {
    new Thread() {
        public void run() {
            while (i++ < 1000) {
                try {
                    runOnUiThread(new Runnable() {
                        @Override
                        public void run() {
                            btn.setText("#" + i);
                        }
                    });
                    Thread.sleep(300);
                } catch (InterruptedException e) {
                    e.printStackTrace();
                }
            }
        }
    }.start();
}
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWie verwende ich runOnUiThread richtig, um die Android-Benutzeroberfläche aus einem Hintergrundthread zu aktualisieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage