Ho un'animazione nella mia app per Android che lampeggia in una TextView di colori diversi. Ho usato un metodo TimerTask, Timer e Runnable per implementarlo. Quello che devo fare è interrompere il thread quando un utente lascia l'app durante questa animazione in onPause(), e riprendere il thread quando l'utente torna all'app in onResume(). Quello che segue è il codice che ho implementato, ma non funziona (i pezzi onPause() e onResume()), e non capisco perché. Ho letto alcuni altri post su argomenti simili, ma non mi hanno aiutato a capire cosa fare nella mia situazione. Ho letto che TimerTasks sono obsoleti e probabilmente dovrei usare un metodo ExecutorService; non mi è chiaro come implementare questa funzione.Come mettere in pausa e riprendere un 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();
}
Possibile duplicato [Pausa/arresto e l'avvio/ripresa Java TimerTask continuamente?] (Http://stackoverflow.com/questions/2098642/pausing-stopping-and-starting-resuming-java-timertask-continuously) – Gboy