convert kotlin to java code below from previous classpackage comalamkanakweekviewimport androidxannotationIntRangeimport javautil h1PrefetchingWeekViewLoaderh1 This class provides prefetching data l
package com.alamkanak.weekview;
import androidx.annotation.IntRange; import java.util.ArrayList; import java.util.Calendar; import java.util.List;
public class PrefetchingWeekViewLoader implements WeekViewLoader { private WeekViewLoader weekViewLoader; private int prefetchingPeriod;
public PrefetchingWeekViewLoader(WeekViewLoader weekViewLoader, @IntRange(from = 1L) int prefetchingPeriod) {
if (prefetchingPeriod < 1) {
throw new IllegalArgumentException("Must specify prefetching period of at least 1!");
}
this.weekViewLoader = weekViewLoader;
this.prefetchingPeriod = prefetchingPeriod;
}
@Override
public List<WeekViewEvent> onLoad(int periodIndex) {
List<WeekViewEvent> loadedEvents = weekViewLoader.onLoad(periodIndex);
List<WeekViewEvent> events = new ArrayList<>();
if (loadedEvents != null) {
events.addAll(loadedEvents);
}
for (int i = 1; i <= this.prefetchingPeriod; i++) {
loadedEvents = weekViewLoader.onLoad(periodIndex - i);
if (loadedEvents != null) {
events.addAll(loadedEvents);
}
loadedEvents = weekViewLoader.onLoad(periodIndex + i);
if (loadedEvents != null) {
events.addAll(loadedEvents);
}
}
return events;
}
@Override
public int toWeekViewPeriodIndex(Calendar instance) {
return weekViewLoader.toWeekViewPeriodIndex(instance);
}
}
原文地址: https://www.cveoy.top/t/topic/jdYE 著作权归作者所有。请勿转载和采集!