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



我做了一个快速测试应用程序,用户有5秒的时间回答问题,我设置了postDelayed(),它通过意向从测试活动中启动,但当点击正确答案时,我无法让postDelayed()自行取消。

有什么想法我可以做到这一点吗?(5秒计时器取消,点击按钮重置)

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

您可以在Handler对象上使用.removeCallbacks()方法来删除挂起的帖子。

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

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

最新更新