【问题标题】:android set max value of date < API level 11android设置日期的最大值< API级别11
【发布时间】:2013-01-16 16:24:20
【问题描述】:

在我的应用程序中我有editText,点击它会调用openDatePicker() 函数。

protected void openDatePicker() {
    DatePickerDialog.OnDateSetListener mDateSetListener = new DatePickerDialog.OnDateSetListener() {
        public void onDateSet(DatePicker view, int year, int monthOfYear, int dayOfMonth) {
            GregorianCalendar calendar = new GregorianCalendar();
            calendar.set(Calendar.YEAR, year);
            calendar.set(Calendar.MONTH, monthOfYear);
            calendar.set(Calendar.DATE, dayOfMonth);
            Date birthDate = calendar.getTime();
            setDate(birthDate);
        }

    };
    DatePickerDialog dialog = prepareDatePickerDialg(mDateSetListener);
    dialog.show();
}

当用户选择日期时,我必须设置最大值。那么有人可以给我一些建议吗?谢谢

【问题讨论】:

  • 有一种方法,但它不漂亮,你必须扩展 DatePickerDialog...
  • 如果您的目标是 API 级别 11 及更高级别,您可以从对话框中获取 DatePicker 实例并在其上调用 setMaxDate(long)。对于较旧的设备,另一种方法是使用向后移植的版本,like this one(尽管它也有一些缺点)。
  • 非常感谢你,请像一个答案一样生活你的 cmets :)

标签: android api date dialog datepicker


【解决方案1】:

根据之前的评论:

如果您的目标是 API 级别 11 及更高级别,则可以从对话框中获取 DatePicker 实例并在其上调用 setMaxDate(long)。对于旧设备,另一种方法是使用向后移植的版本,like this one(尽管它也有一些缺点)。

【讨论】:

  • 我的意思是我将它作为单个应用程序运行,当我按下名为“深色主题”和“浅色主题”的按钮之一时它会崩溃
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-11-02
  • 2012-05-04
  • 1970-01-01
  • 1970-01-01
  • 2020-06-08
相关资源
最近更新 更多