Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/213.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_Timer_Countdown - Fatal编程技术网

Java 如何在暂停后恢复计时器而不出现公共无效

Java 如何在暂停后恢复计时器而不出现公共无效,java,android,timer,countdown,Java,Android,Timer,Countdown,嗨,我正在制作倒计时计时器,我想在暂停后继续。我在不同的帖子中找不到问题的答案。当我看到9:10时单击“暂停”,然后单击“重置时开始计数”,但我想从9:10开始继续计数 我的代码看起来 mTextViewCountDown = findViewById(R.id.text_view_countdown); mButtonStartPause = findViewById(R.id.button_start_pause); mButtonStartPause.set

嗨,我正在制作倒计时计时器,我想在暂停后继续。我在不同的帖子中找不到问题的答案。当我看到9:10时单击“暂停”,然后单击“重置时开始计数”,但我想从9:10开始继续计数 我的代码看起来

        mTextViewCountDown = findViewById(R.id.text_view_countdown);
    mButtonStartPause = findViewById(R.id.button_start_pause);
    mButtonStartPause.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            if (mTimerRunning) {
                pauseTimer();
            } else {
                startTimer();
            }
        }
    });
    mCountDownTimer=new CountDownTimer(mTimeLeftInMillis,1000) {
        @Override
        public void onTick(long millisUntilFinished) {
            mTimeLeftInMillis=millisUntilFinished;
            updateCountDownText();
        }
       @Override
        public void onFinish() {
        }
    };
}
private void startTimer() {
    mTimerRunning = false;
    mButtonStartPause.setText("Start");
    mTimerRunning = true;
    mButtonStartPause.setText("pause");
    mCountDownTimer.start();
       }
private void pauseTimer() {
    mCountDownTimer.cancel();
    mTimerRunning = false;
    mButtonStartPause.setText("Start");
}
private void updateCountDownText() {
    int minutes = (int) (mTimeLeftInMillis / 1000) / 60;
    int seconds = (int) (mTimeLeftInMillis / 1000) % 60;
    String timeLeftFormatted = String.format(Locale.getDefault(), "%02d:%02d", minutes, seconds);
    mTextViewCountDown.setText(timeLeftFormatted);
}

}

您应该使用线程而不是倒计时