5

我正在做一个项目,我需要限制用户选择我想要的任何其他日期。

通过阅读一些文章和SO帖子,我尝试了以下应该可行的方法

    com.wdullaer.materialdatetimepicker.date.DatePickerDialog dpd = newInstance(
                ActivityClaimOffers.this,
                now.get(Calendar.YEAR),
                now.get(Calendar.MONTH),
                now.get(Calendar.DAY_OF_MONTH)
        );
    dpd.setMinDate(calendar);
    dpd.setMaxDate(calendar);

但我不知道如何将自定义日期作为日历对象传递。因为 setMinDate() 和 setMaxDate() 都将 Calendar 作为参数

4

2 回答 2

3

嘿试试这个代码我已经这样做了

Calendar nowMinimum = Calendar.getInstance();
DatePickerDialog dpd = DatePickerDialog.newInstance(
            this,
            nowMinimum.get(Calendar.YEAR),
            nowMinimum.get(Calendar.MONTH),
            nowMinimum.get(Calendar.DAY_OF_MONTH));

    dpd.setMinDate(nowMinimum); //today's date is minimum 

    Calendar thenMaximum = Calendar.getInstance();
    thenMaximum.set(year, monthOfYear, dayOfMonth);// you can pass your custom date 

    dpd.setMinDate(thenMaximum);
    dpd.setTitle("Select Date");
    dpd.show(getActivity().getFragmentManager(), "date_picker");
于 2016-05-31T08:35:53.970 回答
3

像这样 :

Calendar calendar = new GregorianCalendar(year, monthOfYear, dayOfMonth);

并为您的代码:

dpd.setMinDate(new GregorianCalendar(2000, 5, 23));
于 2016-05-31T08:21:30.290 回答