延迟Java程序执行的最佳实践(Android)

时间:2011-10-03 23:19:02

标签: java android handler delay postdelayed

我正在为Android制作一个测验应用。

用户有30秒的时间尽可能多地回答问题。

我在问题之间的执行时间上创造了一个小差距,因此用户可以看到他们是否得到了正确的问题:

new Handler().postDelayed(new Runnable() {  
   public void run()  { displayNextQuestion(); }
    } , 1000);

在30秒结束时,应该将用户重定向到结果屏幕。但是,如果30秒在该等待时间内到期,则用户被带到结果屏幕一会儿,只被重定向回到下一个问题。 30秒过后,如何禁用等待时间?

应该是一个简单的答案,我只是不知道如何使用线程/执行。

由于

2 个答案:

答案 0 :(得分:1)

只需使用布尔值来检查是否应显示结果,然后执行类似的操作     如果(!resultsDisplayed){         displayNextQuestion();     }

答案 1 :(得分:1)

您可以将runnable和处理程序保存到实例变量,并调用myHandler.removeCallbacks(myRunnable)以放弃待处理的操作。

相关问题