0
我有一种方法需要每分钟执行一次,但我需要在一分钟(在手表上)的00秒处启动此线程,因为它会根据时间更新屏幕。在零秒处启动处理程序线程
我的处理程序代码是在这里:
//update bottom card every minute
private final static int INTERVAL = 1000 * 60; //1 minute
Handler mHandler = new Handler();
Runnable mHandlerTask = new Runnable()
{
@Override
public void run() {
updateBottomCard();
mHandler.postDelayed(mHandlerTask, INTERVAL);
}
};
public void startRepeatingTask(ArrayList<Meeting> meetingsOfToday)
{
this.meetingsOfToday = meetingsOfToday;
mHandlerTask.run();
}
在主要活动我有这样一个电话:
BottomCardController.getInstance(this).startRepeatingTask(meetingsSorted.get(TODAY_INDEX));
然而,这个调用发生在任意时间点,例如不是在14:12:00 - 而是在14:12:41,而我需要在14:12:00(hh:mm:ss)开始。任何人都可以帮助我吗?
也许是一个例子,但总的来说,这似乎是解决方案。 – zgc7009
@ zgc7009示例将意味着使用数学lol ... – Shmuel
您的答案表示Java/Android中的功能,甚至没有在问题中显示过。举一个例子来说明如何才能真正把时间花在下一分钟,并造成延误,这将是一个完整的答案。是的......这需要一些数学。 – zgc7009