を作成するのを待つための適切な方法は、私のバックグラウンドスレッドのために単純化されたコードです:
public class MyThread extends Thread {
private Handler _handler;
public void run() {
Looper.prepare();
this._handler = new Handler();
Looper.loop();
}
public void DoSomething() {
if (!this.isAlive()) {
this.start();
}
this._handler.post(blah);
}
}
私が持っている問題は、バックグラウンドスレッドが持っていないことですpost()呼び出しが行われたときにハンドラオブジェクトを作成しました。基本的には、ハンドラオブジェクトを初期化するための待機ループが必要です。 Androidでこれを行う方法は何が認められていますか?
ご協力いただきありがとうございます。
よろしく、 ピーター
* DoSomething()*呼び出しが行われたときにハンドラオブジェクトが作成されましたか? –
本質的にはい。 DoSomething()からstart()が(最初に)呼び出されるまで、そのハンドラオブジェクトは作成されません。しかし、bgスレッドが実行を開始し、ハンドラオブジェクトが作成されるまで待つ必要があります。現在、私は50msの間スリープし、ハンドラが作成されているかどうかをチェックするwhileループを持っています。もっと良い方法があるのだろうかと思っています。ありがとう – Peter