Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/375.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
停止代码执行的Java倒计时_Java_Android Studio_Timer_Countdowntimer - Fatal编程技术网

停止代码执行的Java倒计时

停止代码执行的Java倒计时,java,android-studio,timer,countdowntimer,Java,Android Studio,Timer,Countdowntimer,我正在Android studio上做一个项目,显示一个屏幕15秒,然后切换到一个新的活动。TimerTask并没有在切换之前等待它完成倒计时,倒计时闩锁多次使我的程序崩溃。许多其他线程建议使用thread.sleep,但我需要我的计时器每秒更新一次,以便用户查看。我该怎么办 下面是我使用的代码,但它几乎立即跳过计时器 timer = new Timer(); task = new TimerTask() { int startingTime = 15; @Override

我正在Android studio上做一个项目,显示一个屏幕15秒,然后切换到一个新的活动。TimerTask并没有在切换之前等待它完成倒计时,倒计时闩锁多次使我的程序崩溃。许多其他线程建议使用
thread.sleep
,但我需要我的计时器每秒更新一次,以便用户查看。我该怎么办

下面是我使用的代码,但它几乎立即跳过计时器

timer = new Timer();
task = new TimerTask() {
    int startingTime = 15;

    @Override
    public void run() {
        startingTime--;
        timerTV.setText(Integer.toString(startingTime));
    }
};

这仍然会立即通过。它不会停止下面代码的执行。写一些关于这个问题的描述
    timer = new Timer();
    task = new TimerTask() {
        int startingTime = 15;

        @Override
        public void run() {
            startingTime--;
            if(startingTime==0)
                this.cancel();
            timerTV.setText(Integer.toString(startingTime));
        }
    };