如何取消Runnable.postDelayed()计时器并在按钮单击时重置它?

时间:2017-01-08 01:42:29

标签: java android

我做了一个快速测验应用程序,用户有5秒钟回答问题,我有一个postDelayed()设置,它通过意图启动测验活动,但我无法获得postDelayed( )单击正确答案时取消自己。

我是如何实现这一目标的? (5秒定时器取消并在按钮点击时重置)

编辑:情况与可能的重复不同,因为我不打算在计时器完成后重置计时器,而是在计划中途停止计时器。例如。定时器运行5秒,用户点击按钮3秒后,应该将定时器重置为5,但是当前新定时器启动但旧定时器继续,2秒后postDelayed()动作执行

1 个答案:

答案 0 :(得分:0)

您可以使用.removeCallbacks()对象上的Handler方法删除待处理的帖子。

您可能有兴趣使用RxJava和.timeout()运算符。

mObservable
    .timeout(5, SECONDS)
    .subscribe()