我创建了一个基于我在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 希望它能帮助你! –