У меня есть анимация в моем приложении для Android, которая мигает TextView разными цветами. Я использовал метод TimerTask, Timer и Runnable для его реализации. Что мне нужно сделать, это остановить поток, когда пользователь покидает приложение во время этой анимации в onPause() и возобновляет поток, когда пользователь возвращается в приложение в onResume(). Ниже приведен код, который я реализовал, но он не работает (части onPause() и onResume()), и я не понимаю, почему. Я прочитал несколько других сообщений по подобным вопросам, но они не помогли мне выяснить, что делать в моей ситуации. Я прочитал, что TimerTasks устарел, и я должен, вероятно, использовать метод ExecutorService; мне непонятно, как реализовать эту функцию.
...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();
}