[英]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.