1

我正在制作一个应用程序,用户需要在时间流逝时执行某些任务。我当时的想法是:

向用户显示任务 -> 开始计算秒数 -> 如果任务未在特定秒内解决,应用程序会写道:“你失败了”。

我脑子里只有一个解决方案,因为到目前为止我还没有遇到过相同的解决方案 - 显示要使用的任务并启动线程并计算秒数并等待,例如:

sleep(1000);
secondsCounter++;
if (secondsCounter => LIMIT){
    write("You failed!");
}

不过,有些事情告诉我,这不是解决问题的正确方法。还有其他(更好的)方法吗?

4

1 回答 1

1

为此使用处理程序:

// set this to true if user succeeds before time runs out.
boolean userSucceeded = false;

new Handler().postDelayed(new Runnable() {
    public void run() {
        if (!userSucceeded) {
            // write("you failed")
        }
    }
}, 1000L); // 1 second
于 2013-07-20T20:46:47.120 回答