package cn.qqtheme.framework.picker;
import android.app.Activity;
/**
* 日期选择器
*
* @author 李玉江[QQ:1032694760]
* @since 2015/12/14
*/
public class DatePicker extends DateTimePicker {
public DatePicker(Activity activity) {
this(activity, YEAR_MONTH_DAY);
}
/**
* @see #YEAR_MONTH_DAY
* @see #YEAR_MONTH
* @see #MONTH_DAY
*/
public DatePicker(Activity activity, @DateMode int mode) {
super(activity, mode, NONE);
}
/**
* @deprecated use {@link #setLabel(String, String, String)} instead
*/
@Deprecated
@Override
public final void setLabel(String yearLabel, String monthLabel, String dayLabel, String hourLabel, String minuteLabel) {
super.setLabel(yearLabel, monthLabel, dayLabel, hourLabel, minuteLabel);
}
/**
* 设置年月日的单位
*/
public void setLabel(String yearLabel, String monthLabel, String dayLabel) {
super.setLabel(yearLabel, monthLabel, dayLabel, "", "");
}
/**
* @deprecated use {@link #setRangeStart(int, int, int)} instead
*/
@Deprecated
@Override
public final void setDateRangeStart(int startYear, int startMonth, int startDay) {
super.setDateRangeStart(startYear, startMonth, startDay);
}
/**
* @deprecated use {@link #setRangeEnd(int, int, int)} instead
*/
@Deprecated
@Override
public final void setDateRangeEnd(int endYear, int endMonth, int endDay) {
super.setDateRangeEnd(endYear, endMonth, endDay);
}
/**
* @deprecated use {@link #setRangeStart(int, int)} instead
*/
@Deprecated
@Override
public final void setDateRangeStart(int startYearOrMonth, int startMonthOrDay) {
super.setDateRangeStart(startYearOrMonth, startMonthOrDay);
}
/**
* @deprecated use {@link #setRangeEnd(int, int)} instead
*/
@Deprecated
@Override
public final void setDateRangeEnd(int endYearOrMonth, int endMonthOrDay) {
super.setDateRangeEnd(endYearOrMonth, endMonthOrDay);
}
/**
* @deprecated nonsupport
*/
@Deprecated
@Override
public void setTimeRangeStart(int startHour, int startMinute) {
throw new UnsupportedOperationException("Time range nonsupport");
}
/**
* @deprecated nonsupport
*/
@Deprecated
@Override
public void setTimeRangeEnd(int endHour, int endMinute) {
throw new UnsupportedOperationException("Time range nonsupport");
}
/**
* 设置年份范围
*
* @deprecated use setRangeStart and setRangeEnd instead
*/
@Deprecated
public void setRange(int startYear, int endYear) {
super.setRange(startYear, endYear);
}
/**
* 设置范围:开始的年月日
*/
public void setRangeStart(int startYear, int startMonth, int startDay) {
super.setDateRangeStart(startYear, startMonth, startDay);
}
/**
* 设置范围:结束的年月日
*/
public void setRangeEnd(int endYear, int endMonth, int endDay) {
super.setDateRangeEnd(endYear, endMonth, endDay);
}
/**
* 设置范围:开始的年月日
*/
public void setRangeStart(int startYearOrMonth, int startMonthOrDay) {
super.setDateRangeStart(startYearOrMonth, startMonthOrDay);
}
/**
* 设置范围:结束的年月日
*/
public void setRangeEnd(int endYearOrMonth, int endMonthOrDay) {
super.setDateRangeEnd(endYearOrMonth, endMonthOrDay);
}
/**
* @deprecated use {@link #setSelectedItem(int, int, int)} instead
*/
@Deprecated
@Override
public final void setSelectedItem(int year, int month, int day, int hour, int minute) {
super.setSelectedItem(year, month, day, hour, minute);
}
/**
* @deprecated use {@link #setSelectedItem(int, int)} instead
*/
@Deprecated
@Override
public final void setSelectedItem(int yearOrMonth, int monthOrDay, int hour, int minute) {
super.setSelectedItem(yearOrMonth, monthOrDay, hour, minute);
}
/**
* 设置默认选中的年月日
*/
public void setSelectedItem(int year, int month, int day) {
super.setSelectedItem(year, month, day, 0, 0);
}
/**
* 设置默认选中的年月或者月日
*/
public void setSelectedItem(int yearOrMonth, int monthOrDay) {
super.setSelectedItem(yearOrMonth, monthOrDay, 0, 0);
}
/**
* @deprecated use {@link #setOnWheelListener(OnWheelListener)} instead
*/
@Deprecated
@Override
public final void setOnWheelListener(DateTimePicker.OnWheelListener onWheelListener) {
super.setOnWheelListener(onWheelListener);
}
public void setOnWheelListener(final OnWheelListener listener) {
if (null == listener) {
return;
}
super.setOnWheelListener(new DateTimePicker.OnWheelListener() {
@Override
public void onYearWheeled(int index, String year) {
listener.onYearWheeled(index, year);
}
@Override
public void onMonthWheeled(int index, String month) {
listener.onMonthWheeled(index, month);
}
@Override
public void onDayWheeled(int index, String day) {
listener.onDayWheeled(index, day);
}
@Override
public void onHourWheeled(int index, String hour) {
}
@Override
public void onMinuteWheeled(int index, String minute) {
}
});
}
/**
* @deprecated use {@link #setOnDatePickListener(OnDatePickListener)} instead
*/
@Deprecated
@Override
public final void setOnDateTimePickListener(OnDateTimePickListener listener) {
super.setOnDateTimePickListener(listener);
}
public void setOnDatePickListener(final OnDatePickListener listener) {
if (null == listener) {
return;
}
if (listener instanceof OnYearMonthDayPickListener) {
super.setOnDateTimePickListener(new OnYearMonthDayTimePickListener() {
@Override
public void onDateTimePicked(String year, String month, String day, String hour, String minute) {
((OnYearMonthDayPickListener) listener).onDatePicked(year, month, day);
}
});
} else if (listener instanceof OnYearMonthPickListener) {
super.setOnDateTimePickListener(new OnYearMonthTimePickListener() {
@Override
public void onDateTimePicked(String year, String month, String hour, String minute) {
((OnYearMonthPickListener) listener).onDatePicked(year, month);
}
});
} else if (listener instanceof OnMonthDayPickListener) {
super.setOnDateTimePickListener(new OnMonthDayTimePickListener() {
@Override
public void onDateTimePicked(String month, String day, String hour, String minute) {
((OnMonthDayPickListener) listener).onDatePicked(month, day);
}
});
}
}
protected interface OnDatePickListener {
}
public interface OnYearMonthDayPickListener extends OnDatePickListener {
void onDatePicked(String year, String month, String day);
}
public interface OnYearMonthPickListener extends OnDatePickListener {
void onDatePicked(String year, String month);
}
public interface OnMonthDayPickListener extends OnDatePickListener {
void onDatePicked(String month, String day);
}
public interface OnWheelListener {
void onYearWheeled(int index, String year);
void onMonthWheeled(int index, String month);
void onDayWheeled(int index, String day);
}
}