如何在运行时更改android中睡眠/定时器线程的延迟?

2024-04-05

我试图做的是每次计数器变为 5 的倍数时减少计时器延迟。 但是,一旦代码进入 if 块,它就停止递增计时器。 我不明白发生了什么事。

这是代码

thread=new Thread(){
    public void run(){
        try{
            if(count%5==0)
                timre--;
            else{
                //do nothing
            }
            //*******PROGRESS UPDATE********//
            for(t=0;t<=100;t++) {
                sleep((timre) / 100);
                progress.setProgress(t);
                t += 1;
            }
            //****PROGRESS UPDATE OVER****//
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
        finally {
            finish();
        }
    }//run ends
};//thread ends
thread.start();//timer starts

线程(和sleep())在 Android 中很棘手。尝试使用倒计时器 http://developer.android.com/reference/android/os/CountDownTimer.html反而

CountDownTimer counter;
startTimer();
counter.start();

private void startTimer() {

    counter = new CountDownTimer(4000, 500){

        @Override
        public void onFinish() {

            **DO YOUR STUFF HERE**
        }
        @Override
        public void onTick(long millisUntilFinished) {
        }
    };
}

调用函数startTimer()无论您想要在哪里开始counter同时。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在运行时更改android中睡眠/定时器线程的延迟? 的相关文章

随机推荐