How do you set min and max dates in an Android DatePicker?

被刻印的时光 ゝ 提交于 2019-12-01 16:04:20
SweetWisher ツ

You can get the underlying DatePicker from a DatePickerDialog (by simply calling getDatePicker()) and set its bounds using:

Where the argument is the usual number of milliseconds since January 1, 1970 00:00:00 in the default time zone. You'll still have to calculate these values of course, but that should be trivial to do with the Calendar class: just pass current date and add or substract x years from that..

In the default DatePicker of iOS it provides the feature of setting min. and max. date for the Date picker. The same feature is also available in Android application development but it is available for Android API 11 and above. It means that the feature of min and max date range won’t work in devices below Android API 11.

To overcome this kind of issue and to support this feature in all the Android devices including devices below Android API 11, we had to extend the “DatePickerDialog” class for providing the facility of setting the min and max date range that can be selected. Check the link given below-

How to make a Custom DatePicker control with maximum and minimum date range in Android application

For explanation of the implementation please check below link-

Explain the implementation of Custom DatePicker in our application

i solved this by following

DatePickerDialog datePickerDialog;
final Calendar c = Calendar.getInstance();
    int year = c.get(Calendar.YEAR);
    int month = c.get(Calendar.MONTH);
    int day = c.get(Calendar.DAY_OF_MONTH);
    datePickerDialog = new DatePickerDialog(getActivity(), this, year, month, day);
    datePickerDialog.getDatePicker().setMinDate(c.getTimeInMillis());    

hope it will help you

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!