我已经为倒数计时器编写了一个程序,但倒计时只在点击按钮时启动,但是我想让它在没有按钮点击的情况下启动,任何人都可以建议我如何在没有点击按钮的情况下进行倒计时吗?
这是倒数计时器的代码
public class MainActivity extends ActionBarActivity {
CountDownTimer countDownTimer;
boolean timehasstarted = false;
Button btnStart;
TextView timer;
long startTime = 30 * 1000;
long interval = 1 * 1000;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
btnStart = (Button) findViewById(R.id.button1);
timer = (TextView) findViewById(R.id.timer);
timer.setText(timer.getText() + String.valueOf(startTime / 1000));
btnStart.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
if (!timehasstarted) {
countDownTimer.start();
timehasstarted = true;
timer.setText("Stop");
} else {
countDownTimer.cancel();
timehasstarted = false;
timer.setText("Restart");
}
}
});
countDownTimer = new CountDownTimer(startTime, interval) {
@Override
public void onTick(long millisUntilFinished) {
timer.setText("" + millisUntilFinished / 1000);
}
@Override
public void onFinish() {
timer.setText("Time's Up!");
}
};
}
答案 0 :(得分:0)
如果您想在2秒后的特定时间之后打开倒计时,则可以使用TimerTask进行此操作:
Timer t = new Timer();
t.schedule(new TimerTask() {
@Override
public void run() {
}
}, 2000);
答案 1 :(得分:0)
将您的计时器代码移至活动的onCreate()
方法,而不是onClick()
方法
这将在活动开始时启动计时器。
此外,您可以在活动停止或当前未激活时使用timer.cancel()
取消计时器