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