【问题标题】:Year not exceed year 2000 in Datepicker in android安卓中日期选择器中的年份不超过 2000 年
【发布时间】:2014-03-27 09:30:52
【问题描述】:

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

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

当前工作图片:

我想看看这个:

这是我的代码:

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;
}

【问题讨论】:

    标签: android android-dialog android-datepicker


    【解决方案1】:

    使用这段代码

    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; }

    【讨论】:

      【解决方案2】:

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

      您可以通过以下方式设置 DatePicker 的范围:

      setMinDate(long minDate)
      setMaxDate(long maxDate)
      

      MH 解释了您将如何设置这些值。在下面的主题中详细说明:

      Set Limit on the DatePickerDialog in Android?

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2015-06-07
        • 2020-02-07
        • 1970-01-01
        • 1970-01-01
        • 2014-01-06
        • 2020-11-29
        • 1970-01-01
        相关资源
        最近更新 更多