我在Android上玩了CountDownTimer,我陷入了一種兩難的境地。在我的代碼,我有以下幾點:查找CountDownTimer是否已完成?
public class mCountDownTimer extends CountDownTimer{
protected boolean hasFinished = false;
public mCountDownTimer(long millisInFuture, long countDownInterval) {
super(millisInFuture, countDownInterval);
// TODO Auto-generated constructor stub
}
public void onFinish(){
hasFinished = true;
}
@Override
public void onTick(long millisUntilFinished) {
// TODO Auto-generated method stub
}
}
基本上我想看看我的CountDownTimer已經完成。但在函數中,我想調用它,我有一些代碼:
public void function(){
public boolean finished = false;
if(interrupted)
countDownTimer.cancel();
if(temporaryCountHolder == false){
countDownTimer.start();
interrupted = true;
}
}
我該如何判斷我的計時器是否已完成?我想要實現的東西,說:
if(countDownTimer.hasFinished == true){
Time now = new Time(); //finds the current time
now.setToNow();
String lsNow = now.format("%m-%d-%Y %I:%M:%S");
lsNow += " just Started\n";
try {
dumpToFile("StepsChanged", lsNow);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
但如果我把發言之後
if(temporaryCountHolder == false)
語句,那麼if語句與hasFinished的計算結果始終是假的。我怎樣才能得到它,以便當且僅當定時器完成時才能記錄時間?
你能告訴你究竟是如何使用'如果(countDownTimer.hasFinished ==真)後''如果(temporaryCountHolder ==假)'? – Vinay 2013-04-11 06:25:38
@JJPA我剛剛添加了我如何使用countDownTimer.hasFinished ==真正的方法 – user1567909 2013-04-11 06:27:57
它是否後來'if(temporaryCountHolder == false){countDownTimer.start(); interrupted = true;}'或在此語句中? – Vinay 2013-04-11 06:30:05