简体   繁体   English

在Android Date Picker中将MaxMax日期设置为30天

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM