只是想问一下如何创建最简单的倒数计时器.
网站上会有一句话说:
"注册于05:00关闭!"
所以,我想要做的是创建一个简单的js倒计时器,从"05:00"到"00:00",然后一旦结束就重置为"05:00".
我以前经历过一些答案,但是对于我想做的事情,它们看起来都太强烈了(Date对象等).
我糊涂了.在绊倒这个线程之后,我试图弄清楚如何格式化具有该格式的倒数计时器hh:mm:ss
.
这是我的尝试 -
//hh:mm:ss
String.format("%02d:%02d:%02d",
TimeUnit.MILLISECONDS.toHours(millis),
TimeUnit.MILLISECONDS.toMinutes(millis) -
TimeUnit.MINUTES.toMinutes(TimeUnit.MILLISECONDS.toHours(millis)),
TimeUnit.MILLISECONDS.toSeconds(millis) -
TimeUnit.MINUTES.toSeconds(TimeUnit.MILLISECONDS.toMinutes(millis)));
Run Code Online (Sandbox Code Playgroud)
所以,当我尝试一个类似的值3600000ms
,我得到01:59:00
,这是错误的,因为它应该是01:00:00
.显然我的逻辑有问题,但此刻,我看不出它是什么!
有人可以帮忙吗?
编辑 -
固定它.这是格式化毫秒hh:mm:ss
格式的正确方法-
//hh:mm:ss
String.format("%02d:%02d:%02d",
TimeUnit.MILLISECONDS.toHours(millis),
TimeUnit.MILLISECONDS.toMinutes(millis) -
TimeUnit.HOURS.toMinutes(TimeUnit.MILLISECONDS.toHours(millis)),
TimeUnit.MILLISECONDS.toSeconds(millis) -
TimeUnit.MINUTES.toSeconds(TimeUnit.MILLISECONDS.toMinutes(millis))));
Run Code Online (Sandbox Code Playgroud)
问题是这个TimeUnit.MINUTES.toMinutes(TimeUnit.MILLISECONDS.toHours(millis))
.应该是这样的TimeUnit.HOURS.toMinutes(TimeUnit.MILLISECONDS.toHours(millis))
.
码:
Run Code Online (Sandbox Code Playgroud)public class SMH extends Activity { public void onCreate(Bundle b) { super.onCreate(b); setContentView(R.layout.main); TextView tv = (TextView) findViewById(R.id.tv); new CountDownTimer(10000, 2000) { public void onTick(long m) { long sec = m/1000+1; tv.append(sec+" seconds remain\n"); } public void onFinish() { tv.append("Done!"); } }.start(); }
输出:
10秒保持
8秒保持
6秒保持
4秒保持
完成!
问题:
如何让它显示" 2秒仍然 "?经过的时间确实是10秒,但最后一次onTick()从未发生过.如果我将第二个参数从2000更改为1000,那么这是输出:
10秒保持
9秒保持
8秒保持
7秒保持
6秒保持
5秒保持
4秒保持
3秒保持
2秒保持
完成!
所以你看,它似乎正在跳过最后一次onTick()调用.顺便说一句,XML文件基本上是默认的main.xml,TextView分配了id tv,文本设置为"".
我正在进行考试的应用程序,所以当考试开始时,时间应该从那开始.例如30分钟它应该像29:59一样减少.
我该如何实现呢?
任何人都可以给我一个示例或一步一步的简单教程,我可以遵循?
我开发了一个倒数计时器,我不知道如何在点击计时器的文本视图时暂停和恢复计时器.单击开始然后再次单击以暂停和继续,再次单击计时器的文本视图.
这是我的代码:
Timer = (TextView) this.findViewById(R.id.time); //TIMER
Timer.setOnClickListener(TimerClickListener);
counter = new MyCount(600000, 1000);
}//end of create
private OnClickListener TimerClickListener = new OnClickListener() {
public void onClick(View v) {
updateTimeTask();
}
private void updateTimeTask() {
if (decision == 0) {
counter.start();
decision = 1;
} else if (decision == 2) {
counter.onResume1();
decision = 1;
} else {
counter.onPause1();
decision = 2;
}//end if
}
;
};
class MyCount extends CountDownTimer {
public MyCount(long millisInFuture, long countDownInterval) {
super(millisInFuture, countDownInterval);
}//MyCount …
Run Code Online (Sandbox Code Playgroud) 我有一个listview(带有自定义列表适配器),我需要在每一行显示一个倒计时.
例如,如果我的列表包含4个项目,我将有4行.此时,我需要处理4个不同的倒计时(每行一个),因为时间不同.
到目前为止,我正在通过以下方式处理它:在自定义列表适配器中,在getView()方法内部,我创建一个新的CountDownTimer并在TextView中显示剩余时间.
但问题是它会大大减慢活动速度,在最坏的情况下我甚至无法正确滚动(因为每次显示一行时,它都会创建一个新的CountDownTimer).
我搜索了很多更好的解决方案,但没有人满意.
是否有更清洁,更流畅的解决方案来处理listView中的多个倒计时器?
谢谢
我一直在寻找一种方法来查看CountDownTimer是否正在运行,但我无法找到方法,任何帮助将不胜感激
if (position == 0) {
mCountDown = new CountDownTimer((300 * 1000), 1000) {
public void onTick(long millisUntilFinished) {
mTextField.setText("seconds remaining: "
+ millisUntilFinished / 1000);
}
public void onFinish() {
mTextField.setText("0:00");
String path = "/sdcard/Music/ZenPing.mp3";
try {
mp.reset();
mp.setDataSource(path);
mp.prepare();
mp.start();
} catch (IOException e) {
Log.v(getString(R.string.app_name),
e.getMessage());
}
}
}.start();
}
Run Code Online (Sandbox Code Playgroud)
为此,我如何检查mCountDown当前是否正在运行?
好吧,我有一个15秒的倒数计时器,完全正常,我想为该计时器制作一个自定义循环进度条.
我想创建一个完整的圆圈,当计时器停止时,取出"切片(圆圈)"直到不再有圆圈.
我宁愿自己制作形状而不是使用预制图像,因为我希望任何手机的质量都很好.我该怎么做?谢谢!
我在我的程序中使用time.sleep(10).我运行程序时可以在shell中显示倒计时吗?
>>>run_my_program()
tasks done, now sleeping for 10 seconds
Run Code Online (Sandbox Code Playgroud)
然后我想要它做10,9,8,7 ....
这可能吗?
我愿意在Angular 2中做一个从60开始的倒数计时器(即59,58,57等......)
为此,我有以下内容:
constructor(){
Observable.timer(0,1000).subscribe(timer=>{
this.counter = timer;
});
}
Run Code Online (Sandbox Code Playgroud)
以上,每秒滴答,这很好; 但是,它按升序排列为无限数量.我不确定是否有办法调整它,所以我可以有一个倒数计时器.
countdowntimer ×10
android ×5
countdown ×4
java ×3
timer ×3
angular ×1
baseadapter ×1
ios ×1
javascript ×1
listview ×1
nstimer ×1
onpause ×1
python ×1
rxjs ×1
sleep ×1
stopwatch ×1
time ×1
time-format ×1
xml ×1