CountDownTimer调用double方法
我不知道怎么解释得更好。 我有这个计时器,在完成计数后,它应该调用另一个类(弹出窗口),然后在计数器所在的同一个类中调用其他函数。
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(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(); . . .
我不知道是怎么回事。