首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >暂停和可恢复定时器?

暂停和可恢复定时器?
EN

Stack Overflow用户
提问于 2013-01-01 20:05:51
回答 1查看 682关注 0票数 2

在我正在开发的游戏中,我想创建一个延迟。我造成的延迟是使用带有以下代码的处理程序:

代码语言:javascript
复制
handler.postDelayed(new Runnable() {
        public void run() {
               animationDrawable.start();

                }
        },theDelay);

问题是,我有一个暂停按钮,它会让一切停止,并且在你再次恢复之前什么也不做。现在,即使游戏暂停,它仍在运行。我得到了一个布尔值,当我想要暂停活动时,它会被更改。

我已经使用线程、TimerTask和处理程序来寻找解决方案,但对于我看到的所有这些解决方案,我都警告说使用它们都不安全。

我如何才能以安全的方式暂停和恢复这个“倒计时”,而不必在恢复时重新开始?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-01-01 20:15:17

如何以安全的方式暂停和恢复此“倒计时”,而不必在恢复时重新开始?

当您像这样启动处理程序时,请保存开始时间- startTime = System.currentTimeMillis();

  • inside

  • onPause保存该时间pauseTime = System.currentTimeMillis();并取消hendler

  • inside onResume使用pauseTime - startTime

重新创建事件

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14110277

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档