Java 处理器或计时器或计时器任务或倒计时,我应该使用它在UI中显示倒计时,并在时间结束后执行一些操作?
我正在用android做一个测验应用程序,在分配给该测验的时间结束后退出,并在时间结束或用户按下提交时计算分数。对于时间结束分数计算场景,我应该使用timertask或countdowntimer或handler或chronometer。我还需要显示一个倒计时器,直到时间结束。现在,在回答了这些问题之后,我感到更加困惑。请建议。您应该使用a,下面是一个示例:Java 处理器或计时器或计时器任务或倒计时,我应该使用它在UI中显示倒计时,并在时间结束后执行一些操作?,java,android,Java,Android,我正在用android做一个测验应用程序,在分配给该测验的时间结束后退出,并在时间结束或用户按下提交时计算分数。对于时间结束分数计算场景,我应该使用timertask或countdowntimer或handler或chronometer。我还需要显示一个倒计时器,直到时间结束。现在,在回答了这些问题之后,我感到更加困惑。请建议。您应该使用a,下面是一个示例: final Handler handler = new Handler(); handler.postDelayed(new Runnab
final Handler handler = new Handler();
handler.postDelayed(new Runnable() {
@Override
public void run() {
//Do something after 100ms
}
}, 100);
如果要随时终止处理程序,可以调用:
handler.removeCallbacks(myRunnable);
从文档中:
public final void removeCallbacksAndMessages (Object token)
Added in API level 1
Remove any pending posts of callbacks and sent messages whose obj is token. If token is null, all callbacks and messages will be removed.
在您的onCreate上使用此函数,并在倒计时结束时执行操作
public void startTicking() {
countDownTimer = new CountDownTimer(timerinterval, 1000) {
@Override
public void onTick(long millisUntilFinished) {
// TODO Auto-generated method stub
}
@Override
public void onFinish() {
// TODO Auto-generated method stub
// do stuff here
}
};
}
您可以使用Chronometern或一个,使用handler您必须在每秒钟后尝试runnable,并在一些变量中计数,并将其最大大小固定为100秒。例如,100秒后,您首先取消runnable,然后执行任务。您将如何在100毫秒之前停止此处理程序(如OP希望在用户按submit时停止,他还希望显示时间lft)@通过简单地调用handler.removeCallbacks(myRunnable)实现lavkushagrawal;我还参考了API编辑了答案。:)为什么handler优先于计时器/计时器任务和更简单的倒计时计时器和计时器?