私はこのコードにいます。オブジェクトのattaylistを循環し、各オブジェクトにコールバックを割り当てていますが、CountDownTimerを使用すると、Looper.prepare()を呼び出さないスレッド内にハンドラーを作成できませんでクラッシュします。
for ( final ABoxActor a : actList )
{
ActorDamageListener adl = new ActorDamageListener(){
public void ActorDestroyCallback() {
Log.e("KILLED", a.getBitmapName() );
}
public void ActorDamageCallback(float damage) {
Log.e("DAMAGED "+String.valueOf(damage), a.getBitmapName() );
a.setSpriteCurrentFrame(10);
//// THROWS Can't create handler inside thread that has not called Looper.prepare()
CountDownTimer t = new CountDownTimer(500,500){
@Override
public void onFinish() {
a.setSpriteCurrentFrame(15);
}
@Override
public void onTick(long millisUntilFinished) {
}}.start();
/////////////////////////////////
}
};
a.setListener(adl);
}
それを修正する最も簡単な方法は何ですか?どういうわけか、この「ルーパー」をコールバック定義に追加できますか?
ありがとう!