Here's the converted Java code:

package com.alamkanak.weekview;

import java.util.Calendar;
import java.util.List;

public class MonthLoader implements WeekViewLoader {
    private MonthChangeListener onMonthChangeListener;

    public MonthLoader(MonthChangeListener onMonthChangeListener) {
        this.onMonthChangeListener = onMonthChangeListener;
    }

    @Override
    public double toWeekViewPeriodIndex(Calendar instance) {
        return instance.get(Calendar.YEAR) * 12.0 + instance.get(Calendar.MONTH) + (instance.get(Calendar.DAY_OF_MONTH) - 1) / 30.0;
    }

    @Override
    public List<? extends WeekViewEvent> onLoad(int periodIndex) {
        return onMonthChangeListener.onMonthChange(periodIndex / 12, periodIndex % 12 + 1);
    }

    public interface MonthChangeListener {
        /**
         *
         * Very important interface, it's the base to load events in the calendar.
         * This method is called three times: once to load the previous month, once to load the next month and once to load the current month.
         * **That's why you can have three times the same event at the same place if you mess up with the configuration**
         *
         * @param newYear  : year of the events required by the view.
         * @param newMonth :
         *
         *month of the events required by the view **1 based (not like JAVA API) : January = 1 and December = 12**.
         * @return a list of the events happening **during the specified month**.
         */
        List<? extends WeekViewEvent> onMonthChange(int newYear, int newMonth);
    }
}
convert kotlin to java code below from previous classpackage comalamkanakweekviewimport javautilclass MonthLoadervar onMonthChangeListener MonthChangeListener WeekViewLoader override fun toWeekVi

原文地址: https://www.cveoy.top/t/topic/jdYu 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录