もっとうまく説明する方法がわかりません。私はこのタイマーを持っています。カウントが終了したら、別のクラス(ポップアップ)を呼び出し、その後、カウンターがある同じクラスの他の関数を呼び出す必要があります。
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++;
}
最初のパスの後、私のスコアは 1 ではなく 2、次に 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);
}
};