Maison >Java >javaDidacticiel >Comment utiliser correctement runOnUiThread pour mettre à jour l'interface utilisateur Android à partir d'un fil de discussion en arrière-plan ?
runOnUiThread dans le développement Android
Les threads dans Android sont essentiels pour effectuer des tâches en arrière-plan sans bloquer le thread principal de l'interface utilisateur. Pour interagir avec les éléments de l'interface utilisateur à partir d'un fil d'arrière-plan, Android fournit la méthode runOnUiThread.
Malentendu dans le code fourni
Dans le code donné, le problème survient dans le runThread méthode. La création d'une nouvelle instance de Thread avec l'implémentation Runnable est correcte. Cependant, l'exécution de runOnUiThread directement dans le thread d'arrière-plan est incorrecte.
Implémentation correcte
Pour utiliser runOnUiThread correctement, l'approche recommandée consiste à créer un objet Runnable distinct en arrière-plan. thread, puis transmettez-le à runOnUiThread. Le thread principal de l'interface utilisateur exécutera ensuite ce Runnable passé pour mettre à jour les éléments de l'interface utilisateur.
Voici le code corrigé pour la méthode runThread :
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(); }
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!