首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >测验程序计时器问题

测验程序计时器问题
EN

Stack Overflow用户
提问于 2014-06-26 15:33:53
回答 1查看 140关注 0票数 0

我正在为安卓系统创建一个测试应用程序,其中我使用了计时器上的timer.Based,问题将转到下一步。有20个问题。我给每个问题6秒钟的时间。他们应该在6秒内回答,否则问题将转移到下一个问题。如果他们在4秒内回答,意味着剩下的2秒将添加到下一个问题中。因此,下一个问题将有8秒的时间。因此,我必须为下一个问题添加剩余的秒数,直到最后。我使用了下面的代码,但它只启动和停止计时器。

代码语言:javascript
运行
复制
    private Runnable updateTimerThread = new Runnable() {
    public void run() {
        timeInMilliseconds = SystemClock.uptimeMillis() - startTime;
        updatedTime = timeSwapBuff + timeInMilliseconds;
        int secs = (int) (updatedTime / 1000);
        int mins = secs / 60;
        secs = secs % 60;
        mTimerText.setText("" + mins + ":" + String.format("%02d", secs));
        customHandler.postDelayed(this, 0);
        }
};

public void playClock() {
    startTime = SystemClock.uptimeMillis();
    customHandler.postDelayed(updateTimerThread, 0);
    if (SystemClock.elapsedRealtime()==6) {
        getQuestion();   //Here i call my question
    }
}


public void resumeClock() {
    timeSwapBuff += timeInMilliseconds;
    customHandler.removeCallbacks(updateTimerThread);
}
EN

回答 1

Stack Overflow用户

发布于 2014-06-26 15:57:29

你必须在方法startTimmer(6)下面使用CountDownTimer尝试,当定时器完成时,有方法finishQuizTime();被调用(在该方法中设置下一个问题细节)。

当用户选择应答call finishQuizTime(); & stop CountDownTimer using mCountDown.cancel();

代码语言:javascript
运行
复制
/**
     * timer for quiz question
     * */
    public void startTimmer(int currentQueSec) {

        Log.e("start timmer for ", "--->" + currentQueSec);

        mCountDown = new CountDownTimer(currentQueSec, 1000) {

            @Override
            public void onFinish() {

                /**
                 * stop timmer
                 * */

                finishQuizTime();


                Log.e("time is finish", "time is finish");
            }

            @Override
            public void onTick(long millisUntilFinished) {

                queLastTime = millisUntilFinished / 1000;

            }
        }.start();
    }
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24424821

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档