2016-05-31 6 views
0
final Handler handler = new Handler(); 
    final Runnable timer = new Runnable() { 
     @Override 
     public void run() { 
      // user too late: increment miss counter 
      if (++secondmisses >= MISS_LIMIT) { 
       //TODO miss limit reached 
       finish(); // close this activity 
      } 
     } 
    }; 

は、これは私が(5秒で衝突を得た)場合は、私の球面は5秒5秒以内に何も起こらなければ、アンドロイドでアクションを起こす方法は?

との衝突を検出するようにしたい私の実行可能なタイマーではなく、私はここで解決策を見つけることができるかどうか確認してください

である上に移動 衝突はありません、彼らが言うならば、私はわからない、私はそれを実現することができます他に何これは

以下の私のコードです

下に移動

 mRobot.drive(0.0f, ROBOT_VELOCITY); 
      handler.removeCallbacks(timer); 
      handler.postDelayed(timer, ONE_SECOND); 

     this.checkcollision(v, 1); // if there is no collision 
     this.checkcollisoon(v,2); //if there is a collision 

答えて

1

CountDownTimerで試してみてください:)助けてください。このような何か:

long duration = 12345; 
long ticksInterval = 1000; // 1 second in millis 

new CountDownTimer(duration, ticksInterval){ 
    public void onTick(long remaining) { 
     // Do something each ticksInterval millis 
    } 

    public void onFinish() { 
     // Do something after duration millis 
    } 
}.start(); 

何かがあなたのアプリケーションで発生すると、あなたは非静的クラスのブール値を設定し、何かがタイマー中に起こったかどうかを確認するためにonFinish()でそれをテストすることができます。

関連する問題