我的Android應用程序中有一個動畫,它使TextView呈現不同的顏色。我使用了TimerTask,Timer和Runnable方法來實現這一點。我需要做的就是當用戶在onPause()這個動畫中離開應用程序時停止線程,並在用戶返回到onResume()中的應用程序時恢復線程。以下是我實現的代碼,但它不工作(onPause()和onResume()件),我不明白爲什麼。我已經閱讀了其他一些關於類似問題的文章,但他們並沒有幫助我找出在我的情況下做什麼。我讀過TimerTasks已經過時了,我應該使用一個ExecutorService方法;我不清楚如何實現這個功能。如何暫停和恢復TimerTask /定時器
...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 2017-02-11 12:29:12