[英]SetMax date to 30 days in Android Date Picker
I'm using a Material design library for Datepicker
. 我正在为Datepicker
使用Material设计库。 I need to set min and max date. 我需要设置最小和最大日期。 The min date works but I am not able to get the max date which should be 30 days from the min date(current date)
. 最小日期有效,但我无法从最大date(current date)
30天获得最大日期。 Can anyone know how to make it work here? 有人知道如何在这里工作吗?
public void show() {
Calendar now = Calendar.getInstance();
DatePickerDialog dpd = DatePickerDialog.newInstance(
PostInfo.this,
now.get(Calendar.YEAR),
now.get(Calendar.MONTH),
now.get(Calendar.DAY_OF_MONTH)
);
dpd.setMinDate(Calendar.getInstance());
Calendar calendar = Calendar.getInstance();
calendar.add(Calendar.DAY_OF_MONTH, 30);
dpd.setMaxDate(calendar.getInstance());
dpd.show(getFragmentManager(), "Datepickerdialog");
You can use setMaxDate()
您可以使用setMaxDate()
DatePickerDialog datePickerDialog = new DatePickerDialog(getActivity(), this, year, month, day);
Calendar calendar = Calendar.getInstance(); // this is default system date
datePickerDialog.getDatePicker().setMinDate(calendar.getTimeInMillis()); //set min date // set today's date as min date
calendar.add(Calendar.DAY_OF_MONTH, 30); // add date to 30 days later
datePickerDialog.getDatePicker().setMaxDate(calendar.getTimeInMillis()); //set max date
So this finally worked. 所以这终于奏效了。 All I had to do is call dpd.setMaxDate(now) instead of dpd.setMaxDate(now.getInstance()) 我要做的就是调用dpd.setMaxDate(now)而不是dpd.setMaxDate(now.getInstance())
public void show() {
Calendar now = Calendar.getInstance();
DatePickerDialog dpd = DatePickerDialog.newInstance(
PostInfo.this,
now.get(Calendar.YEAR),
now.get(Calendar.MONTH),
now.get(Calendar.DAY_OF_MONTH)
);
dpd.setMinDate(Calendar.getInstance());
now.add(Calendar.DAY_OF_MONTH, 30);
dpd.setMaxDate(now);
dpd.show(getFragmentManager(), "Datepickerdialog");
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.