如何在每个定义的时间安排一个功能,并可以选择更改这个时间? 我发现我可以使用计时器和 timerTask 或处理程序来完成。我定义的时间不重复的问题,随机重复...
runnable = new Runnable() {
@Override
public void run() {
//some action
handler.postDelayed(this, interval);
}
};
int hours = settings.getIntervalHours();
int minutes = settings.getIntervalMinutes();
long interval = (hours * 60 + minutes) * 60000;
changeTimerPeriod(interval);
private void changeTimerPeriod(long period) {
handler.removeCallbacks(runnable);
interval = period;
runnable.run();
}
最佳答案
使用 Handler onCreate
方法中的对象。它的 postDelayed
方法导致 Runnable
参数被添加到消息队列并在经过指定的时间量(在给定示例中为 0)后运行。然后这将在固定的时间后排队(本例中为 1000 毫秒)。
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
android.os.Handler customHandler = new android.os.Handler();
customHandler.postDelayed(updateTimerThread, 0);
}
private Runnable updateTimerThread = new Runnable()
{
public void run()
{
//write here whaterver you want to repeat
customHandler.postDelayed(this, 1000);
}
};
关于android - 如何在每个连续时间重复一个函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14292749/