looper.loop がどのように機能するか、コードでいつ使用するかを理解しようとしています。実行可能なバインドされたサービスがあります。内部には、Ui を更新するコードを保持するために使用されるハンドラーがあります。これがコードです。
private Runnable builder = new Runnable() {
public void run()
{
while(isThreadStarted == true)
{
if (newgps == 1)
{
Handler handler = new Handler(Looper.getMainLooper());
handler.post(new Runnable() {
public void run() {
//some code that updates UI
}
}
}
}
}
looper.prepair
}
- 私がルーパーを読んだことから。ハンドラが作成される前に prepare を呼び出す必要があります。しかし、そうしなかったことに気付きましたが、このコードはまだ機能しています。これはどのように可能ですか?
- これを修正したいのですが、loper.loop をどこに置くべきかわかりません。このハンドラは何度も呼び出されるためです。.prepare の直後に looper.loop を入れてもよろしいでしょうか? それから .quit when isThreadStarted == false?