gpt4 book ai didi

java - Android Chronometer 倒计时完成

转载 作者:行者123 更新时间:2023-12-01 06:02:11 25 4
gpt4 key购买 nike

我正在尝试在我的白噪音应用程序中实现计时器。

应用程序有 4 个按钮可设置不同的曲调,以及 4 个功能按钮:播放/暂停、停止、一小时和三小时。最后两个正在倒计时模式下运行。

private Chronometer chronometer;
private boolean running;
private long pauseOffset;

switch (v.getId()) {
case R.id.play_button:
if (choosenAudio.isPlaying()) {
//logic here
pauseChronometer();
break;
}
else {
//logic here
startChronometer();
break;
}

case R.id.stop_button:
//logic here
resetChronometer();
chronometer.setCountDown(false);
chronometer.stop();
break;

case R.id.one_hour:
//logic here
chronometer.setCountDown(true);
chronometer.setBase(SystemClock.elapsedRealtime() + 3600000);
pauseOffset = 0;
chronometer.start();
break;

case R.id.three_hours:
//logic here
chronometer.setCountDown(true);
chronometer.setBase(SystemClock.elapsedRealtime() + 10800000);
pauseOffset = 0;
chronometer.start();
break;

default:
break;
}

我的方法:

public void startChronometer() {
if (!running) {chronometer.setBase(SystemClock.elapsedRealtime() - pauseOffset);
chronometer.start();
running = true;
}

}

public void pauseChronometer() {
if (running) {
chronometer.stop();
pauseOffset = SystemClock.elapsedRealtime() - chronometer.getBase();
running = false;
}

}

public void resetChronometer() {
chronometer.setBase(SystemClock.elapsedRealtime());
pauseOffset = 0;

}

我的问题:

当倒计时到达 00:00 时,如何检测并执行某些操作(即停止音乐)?

谢谢大家!

最佳答案

使用时必须使用setOnChronometerTickListener这样的监听器

chronometer.setOnChronometerTickListener(new Chronometer.OnChronometerTickListener() {
@Override
public void onChronometerTick(Chronometer chronometer) {
long time = chronometer.getBase();
//Use this time for finding minute and seconds
}
});

关于java - Android Chronometer 倒计时完成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55101592/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com