我不知道如何更好地解释。我有这个计时器,在完成计数后,它应该调用另一个类(弹出窗口),然后在计数器所在的同一个类中调用其他函数。
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);
}
};
答案 0 :(得分:2)
我发现了我的错误。我两次打电话给我的柜台。这里:
nextQuestion();
brojacVremena.start();
在同一个nextQuestion方法中及以下:
public void nextQuestion() {
brojacVremena.start();
.
.
.
我不知道是怎么回事。