2012-02-11 54 views
5

我想擴展ConuntDownTimer來添加方法暫停並以這種方式繼續:如何擴展CountDownTimer以添加暫停和恢復方法?

public class CountDown extends CountDownTimer { 

    private long resume; 
    private long millisInFuture; 
    private long countDownInterval; 

    public CountDown(long millisInFuture, long countDownInterval) { 
     super(millisInFuture,countDownInterval);  
     resume = millisInFuture; 
     this.millisInFuture = millisInFuture; 
     this.countDownInterval = countDownInterval; 
    } 

    public void play() { 

     // start 
     if(millisInFuture == resume) { 
      super.start(); 

     // restart 
     } else { 
      CountDown cd = new CountDown(resume, countDownInterval); 
      cd.play();  
     }    
    } 

    @Override 
    public void onTick(long millisUntilFinished) { 
     resume = millisUntilFinished; 
     // other code 

    } 
} 

的問題是「重啓」在劇中的方法,因爲,在這種方式中,我創建倒計時另一istance時顯示的錯誤的秒數,因爲幾乎有兩個事件「onTick」。我能解決這個問題嗎? (我希望我的英語可以理解)

回答

3

我沒有看到任何方式通過擴展類來做你想要的。你最好寫自己的。 Here's它的來源。

+0

好的,我只是添加了暫停方法 – Webman 2012-02-11 15:11:08