2016-12-07 23 views
1

我基本上希望在我的應用程序中有一個秒錶活動,它會在30秒過後振動設備,並在60秒時發出通知提醒。我是新開發的應用程序,所以請不要因爲錯過一個明顯的答案而對我產生影響。我想用OnChronometerTickListener實現計時器

我知道我需要Chronometer.OnChronometerTickListener - 但不知道如何實現?

public void shotClockStart(View v) { 

     Chronometer shotclock = (Chronometer) findViewById(R.id.chrono1); 
     shotclock.start(); 
     long timeElapsed = SystemClock.elapsedRealtime() - shotclock.getBase(); 
     if (timeElapsed >= 30000) { 
      // HERE I WANT A VIBRATION ON THE DEVICE. 
     }else if(timeElapsed>=60000){ 
      //HERE I WANT A NOTIFICATION ALERT 
     } 
    } 
+0

'shotclock.setOnChronometerTickListener()' –

+0

你能解釋一下嗎? –

+0

除了需要將處理代碼放入tick事件處理函數中,您的條件是錯誤的,您將在30秒後始終進入第一個。 –

回答

0

必須設置監聽器上Chronometer

public void shotClockStart(View v) { 
    Chronometer shotclock = (Chronometer) findViewById(R.id.chrono1); 
    shotclock.setOnChronometerTickListener(new Chronometer.OnChronometerTickListener() { 
     @Override 
     public void onChronometerTick(Chronometer chronometer) { 
      long timeElapsed = SystemClock.elapsedRealtime() - chronometer.getBase(); 
      if (timeElapsed >= 30000) { 
       // HERE I WANT A VIBRATION ON THE DEVICE. 
      }else if(timeElapsed>=60000){ 
       //HERE I WANT A NOTIFICATION ALERT 
      } 
     } 
    }); 
    shotclock.setBase(SystemClock.elapsedRealtime()); 
    shotclock.start(); 
} 
+1

謝謝你完美的作品。我可以看到我現在錯過了什麼。我已upvoted但沒有顯示,因爲我的代表 –