0

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

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);

最终 OnClickListener clickListener = new OnClickListener() { public void onClick(View 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);

    }
};
4

1 回答 1

2

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

nextQuestion(); 
brojacVremena.start();

并在相同的 nextQuestion 方法中:

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

我不知道那是怎么发生的。

于 2013-03-10T18:17:39.117 回答