Вы пытаетесь запустить свое приложение на устройстве (или симуляторе) с уровнем API ниже 26. LocalDate
, а остальная часть java.time была представлена на уровне 26. Однако, есть обратный порт, который позволяет вамиспользуйте наиболее часто используемые 80% на более ранних версиях Android.Я полагаю, что это хорошее решение для вас.
Поэтому добавьте библиотеку ThreeTenABP в свой проект.И убедитесь, что вы импортируете org.threeten.bp.LocalDate
и org.threeten.bp.DayOfWeek
, а не версии из java.time
.Тогда с тобой все будет в порядке.
Однажды мне сказали, что зависимости есть (я не тестировал):
compile group: 'org.threeten', name: 'threetenbp', version: '1.3.3', classifier: 'no-tzdb'
TemporalAdjusters
Как бы то ни было, твой код может бытьзаписано как:
LocalDate today = LocalDate.now(ZoneId.of("America/Tortola"));
LocalDate monday = today.with(TemporalAdjusters.nextOrSame(DayOfWeek.MONDAY));
LocalDate tue = today.with(TemporalAdjusters.nextOrSame(DayOfWeek.TUESDAY));
LocalDate wed = today.with(TemporalAdjusters.nextOrSame(DayOfWeek.WEDNESDAY));
LocalDate thur = today.with(TemporalAdjusters.nextOrSame(DayOfWeek.THURSDAY));
LocalDate fri = today.with(TemporalAdjusters.nextOrSame(DayOfWeek.FRIDAY));
LocalDate sat = today.with(TemporalAdjusters.nextOrSame(DayOfWeek.SATURDAY));
LocalDate sunday = today.with(TemporalAdjusters.nextOrSame(DayOfWeek.SUNDAY));
Я использовал следующие операции импорта:
import org.threeten.bp.DayOfWeek;
import org.threeten.bp.LocalDate;
import org.threeten.bp.ZoneId;
import org.threeten.bp.temporal.TemporalAdjusters;
Ссылки