在Android中的Datepicker年份不超过2000年

时间:2014-03-27 09:30:53

标签: android android-dialog android-datepicker

我的活动中有一个DatePicker。我想将年份最大限制设置为2000,以便datepicker不显示超过2000年的年份。我该如何实现此。目前我已使用此代码设置当前日期:

     dialog.getDatePicker().setMaxDate(new Date().getTime());

目前的工作img:

enter image description here

我想看看这个:

enter image description here

这是我的代码:

protected Dialog onCreateDialog(int id) {
    Calendar c = Calendar.getInstance();
    int cyear = c.get(Calendar.YEAR);
    int cmonth = c.get(Calendar.MONTH);
    int cday = c.get(Calendar.DAY_OF_MONTH);
    switch (id) {
    case DATE_DIALOG_ID:
        // start changes...
        DatePickerDialog dialog = new DatePickerDialog(this,
                mDateSetListener, cyear, cmonth, cday);
        dialog.getDatePicker().setMaxDate(new Date().getTime());
        return dialog;
        // end changes...
    }
    return null;
}

2 个答案:

答案 0 :(得分:3)

使用这段代码

protected Dialog onCreateDialog(int id) { Date d=new Date(); Calendar cal=Calendar.getInstance(); cal.set(2000, 1, 1, 0, 0); d.setTime(cal.getTimeInMillis()); Calendar c = Calendar.getInstance(); int cyear = c.get(Calendar.YEAR); int cmonth = c.get(Calendar.MONTH); int cday = c.get(Calendar.DAY_OF_MONTH); switch (id) { case DATE_DIALOG_ID: // start changes... DatePickerDialog dialog = new DatePickerDialog(this, mDateSetListener, cyear, cmonth, cday); dialog.getDatePicker().setMaxDate(d.getTime()); return dialog; // end changes... } return null; }

答案 1 :(得分:1)

您可以设置当前日期,这就是您看到2014年的原因。

您可以通过以下方式设置DatePicker的边界:

setMinDate(long minDate)
setMaxDate(long maxDate)

MH如何设置值。在下面的主题中详细说明:

Set Limit on the DatePickerDialog in Android?