Chào các bạn,
Hiện tại mình đang làm chức năng Alarm giống như các Alarm khác, chỉ có điều giờ thêm phần set Alarm cho các ngày nghỉ lễ.
Vấn đề của mình hiện tại là đang nằm ở giải pháp để tính ra ngày kế tiếp sẽ hiển thị Alarm ( Sau khi Alarm hiển thị lên rồi, sẽ hiển thị thời
điểm kế tiếp).
Nếu không có ngày nghĩ lễ thì mình tham khảo Open Source Alarm Klock là OK, tuy nhiên khi thêm ngày nghỉ vào mình
đang bị bí giải pháp để tính.
Code của Alarm Klock cho phần tính ra thời điểm kêu tiếp theo là:
Mã:
private void findNextOccurrence() {
Calendar now = Calendar.getInstance();
// If this hour/minute/second has already occurred today, move to
// tomorrow.
if (calendar.before(now)) {
calendar.add(Calendar.DATE, 1);
}
if (calendar.before(now)) {
throw new IllegalStateException("Inconsistent calendar.");
}
// If there are no repeats requested, there is nothing left to do.
if (daysOfWeek.equals(Week.NO_REPEATS)) {
return;
}
// Keep incrementing days until we hit a suitable day of the week.
for (int i = 0; i < Day.values().length; ++i) {
Day alarmDay = Week.calendarToDay(calendar
.get(Calendar.DAY_OF_WEEK));
if (daysOfWeek.hasDay(alarmDay)) {
return;
}
calendar.add(Calendar.DATE, 1);
}
throw new IllegalStateException(
"Didn't find a suitable date for alarm.");
}
Giờ mình đã thiết lập thêm ngày nghỉ lễ, vậy mình sẽ phải tính như thế nào để cho ra thời điểm tiếp theo Alarm kêu?
Các bạn giúp mình với.
View more random threads:
Rocket 1h là thực phẩm chức năng giúp tăng cường sinh lý nam có nguồn gốc hoàn toàn từ dược liệu tự nhiên. Rất nhiều nam giới đã tuyển lựa Rocket 1h như một phương thuốc hữu hiệu để cải thiện tình...
Nguyên nhân của cặp đôi nam nữ mua...