Java 处理器或计时器或计时器任务或倒计时,我应该使用它在UI中显示倒计时,并在时间结束后执行一些操作?

Java 处理器或计时器或计时器任务或倒计时,我应该使用它在UI中显示倒计时,并在时间结束后执行一些操作?,java,android,Java,Android,我正在用android做一个测验应用程序,在分配给该测验的时间结束后退出,并在时间结束或用户按下提交时计算分数。对于时间结束分数计算场景,我应该使用timertask或countdowntimer或handler或chronometer。我还需要显示一个倒计时器,直到时间结束。现在,在回答了这些问题之后,我感到更加困惑。请建议。您应该使用a,下面是一个示例: final Handler handler = new Handler(); handler.postDelayed(new Runnab

我正在用android做一个测验应用程序,在分配给该测验的时间结束后退出,并在时间结束或用户按下提交时计算分数。对于时间结束分数计算场景,我应该使用timertask或countdowntimer或handler或chronometer。我还需要显示一个倒计时器,直到时间结束。现在,在回答了这些问题之后,我感到更加困惑。请建议。

您应该使用a,下面是一个示例:

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优先于计时器/计时器任务和更简单的倒计时计时器和计时器?