ホームページ >Java >&#&チュートリアル >runOnUiThread を正しく使用してバックグラウンド スレッドから Android UI を更新するにはどうすればよいですか?

runOnUiThread を正しく使用してバックグラウンド スレッドから Android UI を更新するにはどうすればよいですか?

Patricia Arquette
Patricia Arquetteオリジナル
2024-12-29 04:58:091009ブラウズ

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

Android 開発で runOnUiThread を効果的に利用する方法

Android で UI スレッドを操作する場合、次のことを確認して潜在的なクラッシュを防ぐことが重要です。 UI 関連のタスクは正しいスレッドで実行されます。 runOnUiThread メソッドは、このプロセスで重要な役割を果たします。

提供されたコード例では、runThread メソッドの実装に誤解があります。 runOnUiThread はスレッドを作成するのではなく UI 操作を処理するように設計されているため、runOnUiThread を使用してスレッドを作成しようとするとエラーが発生します。

この問題を修正するには、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 を利用して UI 関連のタスク (この場合は更新) を実行します。ボタンのテキスト)。このアプローチにより、時間のかかる操作 (ループ) がバックグラウンドで実行されている間も、UI スレッドの応答性が維持されます。

以上がrunOnUiThread を正しく使用してバックグラウンド スレッドから Android UI を更新するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。