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:
Ngọc Bích xanh bản chất thuộc dòng đá đá hoa (jade). Và cẩm thạch là tên gọi chung của ngọc bích. Vì thực chất chúng thuộc dòng đá đa khoáng được hình thành từ chất Silicat dưới dạng dioxy. Ngọc bích...
Chia sẻ Vòng tay ngọc bích xanh là...