计时器不停止

时间:2011-11-02 19:58:54

标签: android time countdown

好的,这真令人讨厌! 我无法真正停止计时器,只能暂停它... 我有一个函数,每次调用函数时都会使x成为一个新的计时器。我需要的是,有时会停止计时器并再次启动。问题是,如果我使用取消,它会暂停它,当我调用函数时做一个新的,它实际上继续停止的那个!请帮助我,这样我就可以睡觉了......

public void countdown(){


        final TextView textic = (TextView) findViewById(R.id.textView2);

        x = new CountDownTimer(30000, 1000) {

        public void onTick(long millisUntilFinished) {
            textic.setText("Seconds remaining: " + millisUntilFinished / 1000);

        }

        public void onFinish() {
            textic.setText("Time expired");
            idiot();
            getfirstquestion();

        }
        };

        x.start();
    }

这就是函数,x在开始时作为全局变量被删除。需要的是:当我按下一个按钮(甚至100次)时,让当前的计时器停止,并启动一个真正的计时器(就像在那个功能中一样)。

1 个答案:

答案 0 :(得分:2)

在创建新的之前,只需取消旧版本。

public void countdown(){
    final TextView textic = (TextView) findViewById(R.id.textView2);

    if (x != null) {
        x.cancel();
    }

    x = new CountDownTimer(30000, 1000) {

    public void onTick(long millisUntilFinished) {
        textic.setText("Seconds remaining: " + millisUntilFinished / 1000);

    }

    public void onFinish() {
        textic.setText("Time expired");
        idiot();
        getfirstquestion();

    }
    };

    x.start();
}