[解決済み] AndroidでRunnableスレッドを定義された間隔で実行するには?
2022-03-14 20:40:54
質問
Androidエミュレータの画面上に、定義した間隔でテキストを表示するアプリケーションを開発しました。このアプリケーションでは
Handler
クラスがあります。以下は、私のコードからのスニペットです。
handler = new Handler();
Runnable r = new Runnable() {
public void run() {
tv.append("Hello World");
}
};
handler.postDelayed(r, 1000);
このアプリケーションを実行すると、テキストが一度だけ表示されます。なぜでしょうか?
どうしたらいいですか?
この例に対する簡単な修正方法は :
handler = new Handler();
final Runnable r = new Runnable() {
public void run() {
tv.append("Hello World");
handler.postDelayed(this, 1000);
}
};
handler.postDelayed(r, 1000);
あるいは、例えば通常のスレッド(オリジナルのRunnerを使用)を使用することもできます。
Thread thread = new Thread() {
@Override
public void run() {
try {
while(true) {
sleep(1000);
handler.post(this);
}
} catch (InterruptedException e) {
e.printStackTrace();
}
}
};
thread.start();
runnableオブジェクトは、メッセージキューに送信して実行させるためのコマンド、handlerは、そのコマンドを送信するためのヘルパーオブジェクトと考えることができます。
詳細はこちら http://developer.android.com/reference/android/os/Handler.html
関連
-
[解決済み】Android "ビュー階層を作成した元のスレッドだけが、そのビューに触れることができる"
-
[解決済み] 他のスレッドからGUIを更新するにはどうすればよいですか?
-
GIF、Lottie、SVGA
-
WeChatとQQは、他のアプリのオープンリストに自分のアプリを追加し、ファイルパスを取得することができます
-
[解決済み] Androidのソフトキーボードをプログラムで閉じる/隠すにはどうすればよいですか?
-
[解決済み] Androidでアクティビティ起動時にEditTextにフォーカスが当たらないようにする方法
-
[解決済み] Javaにおける "implements Runnable "と "extends Thread "の違いについて
-
[解決済み] AndroidでPythonを実行する方法はありますか?
-
[解決済み] AndroidのListViewで画像を遅延ロードする方法
-
[解決済み] Androidで画面の大きさをピクセル単位で取得する方法
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
android.os の NetworkOnMainThreadException。
-
を作ってください。*** makeするルールがない エラーの原因、分析、解決策
-
アプリはGoogle検索でインデックスされません Androidmanifestのクソみたいな黄色い警告
-
ActivityはOnFragmentInteractionListenerを実装しなければならないに関する質問
-
ライブラリをモジュールとしてインポートする際にエラーが発生しました。Error:A problem occurred configuring project ':library'.
-
Android Nで報告されたエラーを解決する: android.os.FileUriExposedException: file:///storage/emulated/0/
-
GoogleMapと連携し、位置情報の取得が可能
-
repo: コマンドが見つかりません
-
Androidのカラーグラデーション実装のまとめ
-
Android studio 制約レイアウト ConstraintLayout