0
任何人可以在這裏幫助我的這段代碼?它正在工作,但倒數計時器完成後,它會關閉我的應用程序。我希望它在文本上顯示「完成」。但我所用的onFinish
的編碼似乎不可行。倒計時器爲Android
public class SimpleCountdowTimer extends CountDownTimer {
public static int oneSecond = 1000;
TextView statusTextView;
ProgressBar mprogressBar, mprogressBar1;
Button startTimerButton;
Button stopTimerButton, pauseTimerButton, resumeTimerButton;
private long timeRemaining = 0;
public SimpleCountdowTimer(long millisInFuture, long countDownInterval,
TextView statusTextView, ProgressBar mprogressBar, ProgressBar mprogressBar1) {
super(millisInFuture, countDownInterval);
this.statusTextView = statusTextView;
this.mprogressBar1 = mprogressBar1;
this.mprogressBar = mprogressBar;
}
@Override
public void onTick(long millisInFuture) { //do something in every tick
//Put count down timer remaining time in a variable
statusTextView.setText(String.valueOf(millisInFuture/ oneSecond));
long millis = millisInFuture;
timeRemaining = millisInFuture;
long countDownInterval = 1000;
mprogressBar1.setProgress((int) (millisInFuture));
//Convert milliseconds into hour,minute and seconds
String hms = String.format("%02d:%02d:%02d", TimeUnit.MILLISECONDS.toHours(millis), TimeUnit.MILLISECONDS.toMinutes(millis) - TimeUnit.HOURS.toMinutes(TimeUnit.MILLISECONDS.toHours(millis)), TimeUnit.MILLISECONDS.toSeconds(millis) - TimeUnit.MINUTES.toSeconds(TimeUnit.MILLISECONDS.toMinutes(millis)));
statusTextView.setText(hms);//set text
}
@Override
public void onFinish() {
statusTextView.setText("00:00:00");
mprogressBar.setVisibility(View.VISIBLE);
mprogressBar1.setVisibility(View.VISIBLE);
//Disable the pause, resume and cancel button
pauseTimerButton.setEnabled(false);
resumeTimerButton.setEnabled(false);
stopTimerButton.setEnabled(false);
//Enable the start button
startTimerButton.setEnabled(true);
}
}
的可能的複製[什麼是空指針異常,怎麼解決呢?(http://stackoverflow.com/questions/218384/what-is-a-nullpointerexception-and-how -do-i-fix-it) – earthw0rmjim
你有沒有得到任何日誌? –