Android 開発における runOnUiThread
Android のスレッドは、メイン UI スレッドをブロックせずにバックグラウンドでタスクを実行するために不可欠です。バックグラウンド スレッドから UI 要素を操作するために、Android には runOnUiThread メソッドが用意されています。
提供されたコードの誤解
指定されたコードでは、runThread 内で問題が発生します。方法。 Runnable 実装を使用して新しい Thread インスタンスを作成するのは正しいです。ただし、バックグラウンド スレッド内で runOnUiThread を直接実行するのは正しくありません。
正しい実装
runOnUiThread を適切に使用するには、バックグラウンド内に別の Runnable オブジェクトを作成することをお勧めします。スレッドを作成し、それを runOnUiThread に渡します。メイン UI スレッドは、渡された Runnable を実行して UI 要素を更新します。
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(); }
以上がrunOnUiThread を正しく使用してバックグラウンド スレッドから Android UI を更新する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。