私は、AndroidアプリケーションにTextViewの色を点滅させるアニメーションを持っています。私はこれを実装するためにTimerTask、Timer、およびRunnableメソッドを使用しました。私がする必要があるのは、onPause()でこのアニメーション中にユーザーがアプリケーションを離れるときにスレッドを停止し、onResume()でユーザーがアプリケーションに戻るときにスレッドを再開することです。以下は私が実装したコードですが、動作しません(onPause()、onResume())。なぜか分かりません。私は同様の問題についていくつかの他の記事を読んだことがありますが、私の状況で何をすべきかを理解する助けにはなりませんでした。私はTimerTasksが古くなっていることを読んだので、おそらくExecutorServiceメソッドを使うべきです。この機能を実装する方法として私には不明です。 TimerTask
がキャンセルされた後TimerTask/Timerを一時停止、再開する方法
...timerStep5 = new TimerTask() {
@Override
public void run() {
runOnUiThread(new Runnable() {
@Override
public void run() {
if (b5) {
cashButton2SignalText.setBackgroundColor(Color.RED);
cashButton2SignalText.setTextColor(Color.WHITE);
b5=false;
} else {
cashButton2SignalText.setBackgroundColor(Color.WHITE);
cashButton2SignalText.setTextColor(Color.RED);
b5=true;
}
}
});
}
};
timer5.schedule(timerStep5,250,250);
}
public void onPause(){
super.onPause();
timerStep5.cancel();
}
public void onResume(){
super.onResume();
timerStep5.run();
}
の可能性のある重複した[一時停止/停止、継続的にJavaのTimerTaskを再開/開始に?](http://stackoverflow.com/questions/2098642/pausing-stopping-and-starting-resuming-java-timertask-continuously ) – Gboy