Android uygulamasında bir TextView farklı renkleri yanıp sönen bir animasyonum var. Bunu uygulamak için bir TimerTask, Timer ve Runnable yöntemi kullandım. Yapmam gereken şey, kullanıcı bu animasyon sırasında uygulamayı onPause() uygulamasında bıraktığında ve kullanıcı onResume() uygulamasında uygulamaya döndüğünde iş parçacığı kaldığında durur. Aşağıda, uyguladığım kod var, ancak çalışmıyor (onPause() ve onResume() parçaları) ve nedenini anlamıyorum. Benzer konularda birkaç yazı daha okudum, ama durumumda ne yapacağımı anlamama yardımcı olmadılar. TimerTasks'ın eski olduğunu ve muhtemelen bir ExecutorService yöntemini kullanmam gerektiğini okudum; Bu işlevi nasıl uygulayacağım belli değil. Bir TimerTask
iptal edildikten sonraBir TimerTask/Timer nasıl durdurulur ve devam ettirilir
...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();
}
[Duraklatma/sürekli Java TimerTask sürdürme/durdurma ve başlatma?] Olası yinelenen (http://stackoverflow.com/questions/2098642/pausing-stopping-and-starting-resuming-java-timertask-continuously) – Gboy