我做了一个快速测试应用程序,用户有5秒的时间回答问题,我设置了postDelayed(),它通过意向从测试活动中启动,但当点击正确答案时,我无法让postDelayed()自行取消。
有什么想法我可以做到这一点吗?(5秒计时器取消,点击按钮重置)
编辑:情况与可能的重复不同,因为我不想在计时器完成后重置计时器,而是在运行中期停止计时器。例如,计时器运行5秒,3秒后用户点击按钮,该按钮应将计时器重置为5,但当前新计时器启动,但旧计时器继续,2秒后postDelayed()操作执行
您可以在Handler
对象上使用.removeCallbacks()
方法来删除挂起的帖子。
您可能对使用RxJava和.timeout()
运算符感兴趣。
mObservable
.timeout(5, SECONDS)
.subscribe()