CountDownTimer调用double方法

时间:2013-03-10 17:30:36

标签: java android

我不知道如何更好地解释。我有这个计时器,在完成计数后,它应该调用另一个类(弹出窗口),然后在计数器所在的同一个类中调用其他函数。

public class MyCount extends CountDownTimer {

        public MyCount(long millisInFuture, long countDownInterval) {
            super(millisInFuture, countDownInterval);
        }


        public void onFinish() {

            Intent i = new Intent(getApplicationContext(), PogresanOdgovor.class);
            i.putExtra("tacanOdgovor", tacanOdg);
            startActivity(i);
            mHandler.postDelayed(mLaunchTask,2200);

            brojacPogresnihOdgovora++;
        }

第一次通过后,我的分数是2而不是1,然后是6,14 ......这种延迟方法只是下一个问题:

Runnable mLaunchTask = new Runnable() {
        public void run() {
            nextQuestion();
            brojacVremena.start();
        }
     };

当用户回答错误并且工作正常时,我调用与onFinish()中的方法完全相同的方法。

MyCount brojacVremena = new MyCount(6000,1000);

final OnClickListener clickListener = new OnClickListener(){         public void onClick(查看v){

        Answer ans = (Answer) v.getTag();
        if (ans.isCorrect) {
            brojacVremena.cancel();
            brojacTacnihOdgovora = brojacTacnihOdgovora + 5;
            Intent i = new Intent("rs.androidaplikacijekvizopstekulture.TACANODGOVOR");
            startActivity(i);
            mHandler.postDelayed(mLaunchTask,1200);
        }
    else{
        brojacVremena.cancel();
        brojacPogresnihOdgovora++;
        Intent i = new Intent(getApplicationContext(), PogresanOdgovor.class);
        i.putExtra("tacanOdgovor", tacanOdg);
        startActivity(i);
        mHandler.postDelayed(mLaunchTask,2200);

    }
};

1 个答案:

答案 0 :(得分:2)

我发现了我的错误。我两次打电话给我的柜台。这里:

nextQuestion(); 
brojacVremena.start();
在同一个nextQuestion方法中

及以下:

public void nextQuestion() {
brojacVremena.start();
.
.
.

我不知道是怎么回事。