我使用的默认Android DatePickerDialog
包含android.widget.DatePicker
。
有人知道如何禁用或使某些日期无法选择吗?
我知道DatePicker
允许setMinDate()
和setMaxDate()
,但它不允许在中间禁用特定日期。
e.g。在这张照片上想要禁用日期18,26等:
答案 0 :(得分:2)
这不是内置行为 - 您必须使用自定义日期选择器。
答案 1 :(得分:1)
我使用自定义datepicker获得了一个方法。首先,我们需要将日期作为字符串,然后将其转换为日期对象,然后将日期转换为日历对象。最后使用setDisabledDays(calenderobj)。我们可以禁用它。 代码如下。
SimpleDateFormat sdf = new SimpleDateFormat("dd-MM-yyyy");
String a = "26-07-2017";
java.util.Date date = null;
try {
date = sdf.parse(a);
MainActivity obj = new MainActivity();
calendar = obj.dateToCalendar(date);
System.out.println(calendar.getTime());
} catch (ParseException e) {
e.printStackTrace();
}
List<Calendar> dates = new ArrayList<>();
dates.add(calendar);
Calendar[] disabledDays1 = dates.toArray(new Calendar[dates.size()]);
dpd.setDisabledDays(disabledDays1);
}
private Calendar dateToCalendar(Date date) {
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
return calendar;
}