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(); }
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!