我正在为Android制作一个测验应用。
用户有30秒的时间尽可能多地回答问题。
我在问题之间的执行时间上创造了一个小差距,因此用户可以看到他们是否得到了正确的问题:
new Handler().postDelayed(new Runnable() {
public void run() { displayNextQuestion(); }
} , 1000);
在30秒结束时,应该将用户重定向到结果屏幕。但是,如果30秒在该等待时间内到期,则用户被带到结果屏幕一会儿,只被重定向回到下一个问题。 30秒过后,如何禁用等待时间?
应该是一个简单的答案,我只是不知道如何使用线程/执行。
由于
答案 0 :(得分:1)
只需使用布尔值来检查是否应显示结果,然后执行类似的操作 如果(!resultsDisplayed){ displayNextQuestion(); }
答案 1 :(得分:1)
您可以将runnable和处理程序保存到实例变量,并调用myHandler.removeCallbacks(myRunnable)
以放弃待处理的操作。