簡體   English   中英

我想在Android中做點時間

[英]i want to make counter time in Android

我創建了一個Android應用,並且想進行時間計數。 有兩個長變量存儲長數據。

當跑完第二個動作時,必須開始走第二個動作,並且在此過程之后必須進行四次。

 public void Counter(long runsecond, final long walksecond) {
    new CountDownTimer(runsecond, 1000) {

        public void onTick(long millisUntilFinished) {
            showtext.setText("seconds remaining: " + millisUntilFinished / 1000);
        }

        public void onFinish() {
            showtext.setText("done!");
            new CountDownTimer(walksecond, 1000) {

                public void onTick(long millisUntilFinished) {
                    mTextField.setText("seconds remaining: " + millisUntilFinished / 1000);
                }

                public void onFinish() {
                    showtext.setText("done!");
                }
            }.start();


        }
    }.start();
}

我接受。 只有一次。 我該如何解決這個問題?

我認為類似的東西可能會滿足您的需求。 運行計數器和步行計數器的秒數是可配置的。 重復率指定兩個計數器應運行多少次。

public enum CounterType {
    RUN_COUNTER,
    WALK_COUNTER
}

private void start() {
    int runSeconds = 5;
    int walkSeconds = 5;
    int repeatRate = 4; // 2 - run, 2 walk

    startCount(runSeconds, walkSeconds, repeatRate, RUN_COUNTER);
}

private void startCount(final int runSeconds, final int walkSeconds, final int repeatRate, final CounterType actualCounter) {
    if (repeatRate == 0) {
        return;
    }

    int actualSeconds = 0;
    if (actualCounter == RUN_COUNTER) {
        actualSeconds = runSeconds;
    } else if (actualCounter == WALK_COUNTER) {
        actualSeconds = walkSeconds;
    }

    new CountDownTimer(actualSeconds * 1000, 1000) {
        @Override public void onTick(long millisUntilFinished) {
            Log.d("Counter - onTick", actualCounter.toString() + ": millis remaining: " + millisUntilFinished);
        }

        @Override public void onFinish() {
            Log.d("Counter - onFinish", actualCounter.toString());
            CounterType nextCounter = actualCounter == RUN_COUNTER ? WALK_COUNTER : RUN_COUNTER;
            startCount(runSeconds, walkSeconds, repeatRate - 1, nextCounter);
        }
    }.start();
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM