我正在编写简单的游戏,其中一些动作必须在此过程中加速。问题是如何改变计时器的周期?
timer = new Timer();
timerTask = new TimerTask() {
@Override
public void run() {
runOnUiThread(new Runnable() {
@Override
public void run() {
//
// I need to change timer's period here
//
}
});
}
};
timer.schedule(timerTask, 0, period);
很高兴听到任何建议。
答案 0 :(得分:0)
我假设你在TimerTask的run()方法中执行一些逻辑。
我认为更简单的方法是使用Handler。这可能更适合Android:
private final Handler mHandler = new Handler();
private final Runnable mTask = new Runnable() {
@Override
public void run() {
// Do your logic.
// Now post again.
mHandler.postDelayed(mTask, /* choose a new delay period */);
}
};
public void init() {
delay = 1000L; // 1 second.
mHandler.postDelayed(mTask, delay);
}