【问题标题】:setMinDate() for DatePicker doesn't workDatePicker 的 setMinDate() 不起作用
【发布时间】:2013-03-17 19:42:31
【问题描述】:
DatePicker datepicker = (DatePicker) view.findViewById(R.id.ad_date_picker);
datepicker.setMinDate(Calendar.getInstance().getTimeInMillis());

它只是不起作用。它仅适用于 xml (android:minDate="mm/dd/yyyy"),但我需要将最小日期动态设置为当天。 我的最低 API 是 11。

【问题讨论】:

  • 不起作用?这是否意味着它崩溃了?它默默地失败了(你在使用try/catch吗?)?还是什么?
  • 没有。它只是不限制选项。
  • 嗯,它的奇怪行为,它应该可以工作。
  • 可能重复这个:stackoverflow.com/questions/13661788/… 看来您可以尝试在设置日期之前减去一秒?
  • @span 我也记得那个线程,但在那种情况下它崩溃了(不仅仅是拒绝工作)。

标签: android datepicker


【解决方案1】:

P.S:解决方案以前可以工作,但现在可能已经过时了。

试试这样的。如果我理解正确,您希望将微调器的最小日期设置为今天的日期。它对我有用,没有任何错误:

    Calendar cal = Calendar.getInstance();
    cal.set(cal.get(Calendar.YEAR), cal.get(Calendar.MONTH), cal.get(Calendar.DAY_OF_MONTH), 0, 0, 0);
    long time = cal.getTimeInMillis();
    DatePicker datepicker = (DatePicker) findViewById(R.id.datePicker);
    datepicker.setMinDate(time);

在您的 xml 中,我假设您有这样的内容:

<DatePicker
    android:id="@+id/datePicker"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content" />

【讨论】:

  • 问题不在于错误。实际上,它只是行不通。你的代码也是=\
  • 此解决方案不起作用,您仍然可以选择灰色的日期。
  • @PeterFile:你有什么解决办法吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-05-14
  • 2010-10-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多