【问题标题】:how to fix this ? i can't disable my past date using datepicker dialog如何解决这个问题?我无法使用日期选择器对话框禁用我过去的日期
【发布时间】:2019-05-08 09:39:53
【问题描述】:

我想在日期选择器中禁用过去的日期。

new DatePickerDialog(this,listener,calendar.get(Calendar.YEAR),calendar.get(Calendar.MONTH),calendar.get(Calendar.DAY_OF_MONTH));
DatePickerDialog.getDatePicker().setMinDate(System.currentTimeMillis() - 1000);
DatePickerDialog.show();

【问题讨论】:

标签: android


【解决方案1】:

试试这个方法

    Calendar calendar1 = Calendar.getInstance();
    calendar1.add(Calendar.DAY_OF_MONTH, -1);

    new DatePickerDialog(this,listener,calendar.get(Calendar.YEAR),calendar.get(Calendar.MONTH),calendar.get(Calendar.DAY_OF_MONTH));
    DatePickerDialog.getDatePicker().setMinDate(calendar1.getTimeInMillis());
    DatePickerDialog.show();

【讨论】:

  • DatePickerDialog.OnDateSetListener listener = new DatePickerDialog.OnDateSetListener() { @Override public void onDateSet(DatePicker arg0, int arg1, int arg2, int arg3) { // TODO 自动生成的方法存根 calendar.set (日历.YEAR,arg1); calendar.set(Calendar.MONTH, arg2); calendar.set(Calendar.DAY_OF_MONTH, arg3); txtDate.setText(format.format(calendar.getTime())); } };
【解决方案2】:

您可以只为 DatePickerDailog 传递 setMaxDate(),

DatePickerDialog dateDialog = new DatePickerDialog(getContext(), myDateListener, year, 
 month, day);
dateDialog.getDatePicker().setMaxDate(calendar.getTimeInMillis());

或者你也可以这样做,

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-11-29
    • 2016-07-03
    • 1970-01-01
    • 2020-03-17
    • 2021-04-15
    • 2013-03-23
    • 2017-04-09
    相关资源
    最近更新 更多