5

ConuntDownTimer を拡張して、メソッドの一時停止と再開を次のように追加しようとしています。

public class CountDown extends CountDownTimer {

    private long resume;
    private long millisInFuture;
    private long countDownInterval;

    public CountDown(long millisInFuture, long countDownInterval) {
        super(millisInFuture,countDownInterval);    
        resume = millisInFuture;
        this.millisInFuture = millisInFuture;
        this.countDownInterval = countDownInterval;
    }

    public void play() {

        // start
        if( millisInFuture == resume ) {
            super.start();

        // restart
        } else {
            CountDown cd = new CountDown(resume, countDownInterval);
            cd.play();    
        }               
    }

    @Override
    public void onTick(long millisUntilFinished) {
        resume = millisUntilFinished;
        // other code

    }
}

問題は play メソッドの "restart" です。このようにして、"onTick" というイベントがほぼ 2 つあるために間違った秒数を表示する CountDown の別のインスタンスを作成したためです。この問題を解決できますか? (私の英語が理解できたといいのですが)

4

1 に答える 1

3

クラスを拡張することで、あなたが望むことを行う方法がわかりません。自分で書くのが一番です。これがそのソースです。

于 2012-02-11T14:27:10.557 に答える