我已经在android中实现了一个datepick,但是我想做一些修改。我想使今天之前的日期和所有的星期日都无法选择,并且希望在今天之后至少3天确定第一个可选择的日期。例如,如果今天是星期五,我希望第一个可选择的日子是星期三(因为星期天是无法选择的)。如何实现这一点?
xml:
<DatePicker
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/dpTake"
android:textColor="@android:color/white"
android:layout_gravity="center_horizontal" />java:
private DatePicker dpTake;
dpTake=(DatePicker) rootView.findViewById(R.id.dpTake);
int day=dpTake.getDayOfMonth();
int month=dpTake.getMonth();
int year=dpTake.getYear();
String dateTake = String.valueOf(year)+"-"+String.valueOf(month)+"-"+String.valueOf(day);
order.setDate_take(dateTake);发布于 2016-10-02 09:11:41
datePicker.setMinDate(value);这一行将设置最小日期。现在的价值是:
long value = ((day + 3) * convert_to_milliseconds) -System.currentTimeMillis();您已经将“今日”转换为“MilliSeconds”(但是,如果您在早上7点接受输入,3天后的早上7点计算,3天后的早上7点计算,如果您想在12点修改,请执行一些编程!)
干杯!
ReEdit:这可能是work>
if (choosenDate.get(Calendar.DAY_OF_WEEK) ==
Calendar.SUNDAY) {
< ..... Toast or SnackBar etc! ...... >
}发布于 2016-10-02 09:14:41
您可以尝试使用DatePicker.setMinDate()方法。为了前夫。创建Calendar实例:
Calendar c = Calendar.getInstance();
c.set(Calendar.DAY_OF_MONTH,-3); //-3 means 3 days before.
dpTake.setMinDate(c.getTimeInMillis());https://stackoverflow.com/questions/39815468
复制相似问题