【问题标题】:How to disable dates after today date in DatePickerDialog Android?如何在 DatePickerDialog Android 中禁用今天日期之后的日期?
【发布时间】:2016-10-17 17:09:49
【问题描述】:

我想在 DatePickerDialog 中禁用所有 Next(after)today 日期开始的日期。

我正在使用下面的代码来创建 DatePickerDialog:

    Calendar calendar = Calendar.getInstance();
    mYear = calendar.get(Calendar.YEAR);
    mMonth = calendar.get(Calendar.MONTH);
    mDay = calendar.get(Calendar.DAY_OF_MONTH);

 //OnDateSetListener
 private DatePickerDialog.OnDateSetListener myDateListener = new DatePickerDialog.OnDateSetListener() {
    @Override
    public void onDateSet(DatePicker arg0, int year, int monthOfYear, int dayOfMonth) {
        calendar.set(year, monthOfYear, dayOfMonth);
        String currentDate = date_format.format(calendar.getTime());
        ...
    }
};
 //Create DatePickerDialog here
 protected Dialog onCreateDialog(int id) {
    if (id == 999) {
        DatePickerDialog dpDialog = new DatePickerDialog(getContext(), myDateListener, mYear, mMonth, mDay);

        return dpDialog;
    }
    return null;
}

请建议我必须做什么才能在日期选择器对话框中禁用所有以前的日期。

【问题讨论】:

标签: android android-studio datepicker android-datepicker datepickerdialog


【解决方案1】:

只需在setMaxDate()DatePickerDialog 中传递当前日期。

DatePickerDialog dpDialog = new DatePickerDialog(getContext(), myDateListener, mYear, mMonth, mDay);
dpDialog.getDatePicker().setMaxDate(calendar.getTimeInMillis());

dpDialog.getDatePicker().setMaxDate(System.currentTimeMillis());

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-07-26
    • 1970-01-01
    • 2018-06-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-19
    相关资源
    最近更新 更多