ホームページ  >  記事  >  Java  >  Android のスレッドから UI 要素を安全に更新するにはどうすればよいですか?

Android のスレッドから UI 要素を安全に更新するにはどうすればよいですか?

Susan Sarandon
Susan Sarandonオリジナル
2024-11-07 07:04:02824ブラウズ

How to Safely Update UI Elements from a Thread in Android?

Android でのタイマーのスレッド化

このコードは、スレッドを使用して Android でタイマーを実装しようとしますが、スレッドの同期による問題が発生します。明確にするために、このコードは 5 分から 0:00 までカウントダウンするタイマーを定義しています。

Android では、メイン スレッド (UI スレッド) 以外のスレッドからユーザー インターフェイスを操作することはできません。この場合、Thread t によって作成されたスレッドは TextView (UI 要素) を直接更新しようとしているため、エラーが発生します。

この問題に対処するには、いくつかのオプションがあります。

1. CountDownTimer

CountDownTimer は、タイマーの実装を簡素化する Android クラスです。指定した期間と間隔でカウントダウンをスケジュールできます。

例:

2. Handler

Handler は、メインスレッドで実行されるタスクをポストできるようにするクラスです。これにより、UI の更新が常に正しいスレッドで実行されるようになります。

例:

3. Timer

Timer は、別のスレッドでタスクをスケジュールできるようにするクラスです。ただし、メイン スレッドで UI を更新する必要があります。

例:

以上がAndroid のスレッドから UI 要素を安全に更新するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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