簡體   English   中英

CountDownTimer調用double方法

[英]CountDownTimer calls double method

我不知道該怎么解釋。 我有這個計時器,在完成計數后,它應該調用另一個類(彈出窗口),並在計數器所在的同一類中的另一個函數之后。

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 =新的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);

    }
};

我發現了我的錯誤。 我給櫃台打電話了兩次。 這里:

nextQuestion(); 
brojacVremena.start();

和下面相同的nextQuestion方法:

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

我不知道那是怎么回事。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM