[英]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.