我創建了一個基於我在Google搜索的教程的倒計時器。但我無法恢復倒計時。當我按下按鈕時,它將從10重新開始。CountdownTimer暫停和恢復功能
我想創建一個可以暫停和恢復的倒數計時器。謝謝!這裏是我的代碼:
import android.app.Activity;
import android.os.Bundle;
import android.os.CountDownTimer;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.TextView;
public class TimerC extends Activity {
Button btns;
TextView tv;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_timer_c);
btns = (Button)findViewById(R.id.btnstartpause);
tv = (TextView)findViewById(R.id.tv);
tv.setText("10");
btns.setText("Start");
final MyCounter timer = new MyCounter(10000,1000);
btns.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
if (btns.getText()== "Start")
{
timer.start();
btns.setText("Pause");
}
else if (btns.getText()== "Pause")
{
btns.setText("Start");
timer.cancel();
}
}
});
}
public class MyCounter extends CountDownTimer{
public MyCounter(long millisInFuture, long countDownInterval) {
super(millisInFuture, countDownInterval);
}
@Override
public void onFinish() {
System.out.println("Timer Completed.");
tv.setText("Timer Completed.");
}
@Override
public void onTick(long millisUntilFinished) {
tv.setText((millisUntilFinished/1000)+"");
System.out.println("Timer : " + (millisUntilFinished/1000));
}
}
}
我聲明瞭一個整數並將其命名爲_remain_,然後當單擊該按鈕時,我將其餘數字保存到_remain_中。點擊恢復時,我使用'setText'放回_remain_。那麼,它不工作。結果仍然與上面的代碼相同。謝謝。 –
在這篇文章中,我提供了一個簡單的解決方案來解決這個問題,使用一個CustomCountDownTimer類,它允許你自由地暫停和恢復。 http://stackoverflow.com/questions/36965624/pause-resume-countdowntimer-android/36965625#36965625 希望它能幫助你! –