【问题标题】:Setting android datepicker min date to specific date将android datepicker min date设置为特定日期
【发布时间】:2014-07-27 13:44:58
【问题描述】:

我希望用户能够选择开始日期和结束日期。结束日期的最小值必须等于开始日期。例如,用户选择 2014 年 8 月 1 日作为开始日期。当他单击返回日期字段时,这些值将作为意图附加值传递给 date_picker_activity。在 date_picker_activity 我检查了这些额外内容,目前它只是将所选日期设置为显示日期:

if(getIntent().getExtras()!=null)
{
    int year = getIntent().getExtras().getInt("SELECTED_YEAR");
    int month = getIntent().getExtras().getInt("SELECTED_MONTH");
    int day = getIntent().getExtras().getInt("SELECTED_DAY");
    date_picker.updateDate(year, month, day);
}

但用户仍然可以选择在所选开始日期之前的日期。

我试图在 if 语句中做类似的事情:

Time time = new Time();
time.set(day, month, year);
date_picker.setMinDate(time.toMillis(true)-1000);

但这没有用。

如何使用传递的值设置最小日期?

【问题讨论】:

  • 在onDateSet()中,检查年月日值是否可以接受。
  • onDateSet() 是 DatePickerDialog 的一个方法,对吧?我没有使用它,我使用的是布局 XML 中包含 DatePicker 元素的活动。
  • 好的,那么我将编辑我的答案。
  • 你为什么说那行不通?您的代码似乎是正确的。

标签: android datepicker android-datepicker


【解决方案1】:

在聊天中讨论后,我们设法理解了这段代码:

date_picker.setMinDate(System.currentTimeMillis() - 1000);

无论如何都在 if 语句中被调用,将最小日期设置为当前日期。

一旦 Igal 将该代码移至 else 语句,一切正常。

【讨论】:

  • 再一次,非常感谢您给我推动正确的方向!感谢你的帮助! :)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-03-06
相关资源
最近更新 更多