countdowntimer に変数を渡し、その変数をカウントダウンするミリ秒数として使用しようとしています。単純に値を入力すると、カウントダウンは適切に機能しますが、長い変数を渡すと、onFinish 関数が実行されるだけです。
実際のコードは次のとおりです。
public CountDownTimer countDown = new CountDownTimer(respawnTime, 1000) {
@Override
public void onTick(long millisUntilFinished) {
timer =(Integer)(int) millisUntilFinished / 1000;
if(timer < 31)
timerText.setTextColor(Color.parseColor("#FF0000"));
timerText.setText(timer.toString());
}
@Override
public void onFinish() {
timerText.setTextColor(Color.parseColor("#00FF00"));
timerText.setText("UP");
}
};
この時点で、360 秒のカウントダウンを期待して respawnTime を 360000 に設定しましたが、前述のようにすぐに onFinish を実行します。最初のパラメーターを変数ではなくリテラルに変更するだけですべてが修正されますが、ここでは変数を使用する必要があります。助けてくれてありがとう!