安卓游戏倒计时器

3
我正在开发一款游戏,需要倒计时器。
我需要能够暂停和恢复倒计时,并在当前的倒计时状态下添加一些时间。
我查看了 `CountdownTimer` 类及其方法,但似乎没有必要的功能。
请问哪种组件最适合此情况?
如何使用它?
可能会遇到什么问题?
`Thread`?`AsyncTask`?`Timer`?
有没有人有相关经验?
1个回答

2
我认为可以使用Thread,但更容易实现您的功能的是使用CountdownTimer包装类:
    static class MyCountdownTimer {

    long mCurrentMilisLeft;
    long mInterval;
    CountdownTimerWrapper mCountdownTimer;

    class CountdownTimerWrapper extends CountDownTimer{
        public CountdownTimerWrapper(long millisInFuture,long countDownInterval) {
            super(millisInFuture, countDownInterval);
        }

        @Override
        public void onFinish() {

        }

        @Override
        public void onTick(long millisUntilFinished) {
            mCurrentMilisLeft = millisUntilFinished;
        }

    }

    public MyCountdownTimer(long millisInFuture, long countDownInterval) {          
        set(millisInFuture,countDownInterval);
    }

    public void pause(){
        mCountdownTimer.cancel();
    }

    public void resume(){
        mCountdownTimer = new CountdownTimerWrapper(mCurrentMilisLeft, mInterval);
        mCountdownTimer.start();
    }

    public void start(){
        mCountdownTimer.start();
    }

    public void set(long millisInFuture, long countDownInterval){
        mInterval = countDownInterval;
        mCurrentMilisLeft = millisInFuture;         
        mCountdownTimer = new CountdownTimerWrapper(millisInFuture, countDownInterval);
    }

}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接