0

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 を実行します。最初のパラメーターを変数ではなくリテラルに変更するだけですべてが修正されますが、ここでは変数を使用する必要があります。助けてくれてありがとう!

4

2 に答える 2

0

実行しませんでしたstart().start()最後の '}' の後に を追加するか、 を呼び出す新しい行を追加するだけcountDown.start()です。

于 2013-09-06T23:55:20.243 に答える