2011-10-03 55 views
0

我正在为Android做一个测验应用程序。推迟Java程序执行的最佳做法(Android)

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

我创建问题之间的执行时间小的差距,使用户可以看到,如果他们得到了正确的问题:

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

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

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

感谢

回答

1

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

1

只需使用一个布尔检查结果应显示出来,然后像做 如果(resultsDisplayed!){ displayNextQuestion(); }