0
Android Studioで小さなゲームを作っています。基本的に、ユーザーはボタンを押すトリガーに設定された時間が経過するか、ゲームが終了します。私のCountDownTimerオブジェクトは、私のボタンクリックハンドラとは異なる機能の中にあります。ボタンクリックハンドラからcancel()を使用してcountDownTimerをキャンセルするにはどうすればよいですか?ここでCountDownTimerにアクセスしてJavaでキャンセルするにはどうすればよいですか?
は私のコードです:
public countDownTimer timeLimit;
public void generate() {
final ProgressBar timer = (ProgressBar)findViewById(R.id.timer);`
int timeoutSeconds = 5000;
timer.setMax(timeoutSeconds);
timeLimit = new CountDownTimer(timeoutSeconds, 100) {
public void onTick(long millisUntilFinished) {
int timeUntilFinished = (int) millisUntilFinished;
timer.setProgress(timeUntilFinished);
}
public void onFinish() {
gameOver();
}
};
timeLimit.start();
}
public void buttonClicked(View v) {
timeLimit.cancel();
}
私もこれを行うには、任意の代替の方法を聞くことが幸せになると思います。
ローカル変数の代わりにフィールド変数として宣言します。 –
timeLimitタイマーを、通常はデータメンバーと呼ばれるクラスレベルの変数として作成します。 –
これを行う方法に関するサンプルコードまたはドキュメントはありますか? – NoobProgrammer