2013-05-07 97 views
1

我有一個日期選擇器我想設置一個最短日期,以便當用戶設置日期時不應該允許低於該最短日期和該日期應該不會比明天更少Android設置日期選擇器最短日期

我做了

//==============Date Picker============================ 

@Override 
protected Dialog onCreateDialog(int id) { 

    switch(id){ 
    case ID_DATEPICKER: 

     return new DatePickerDialog(this,myDateSetListener,myYear, myMonth, myDay); 
    default: 
     return null; 
    } 
} 

private DatePickerDialog.OnDateSetListener myDateSetListener = new DatePickerDialog.OnDateSetListener() 
{ 
    @Override 
    public void onDateSet(DatePicker view, int year, int monthOfYear, int dayOfMonth) 
    { 
     String date = String.valueOf(dayOfMonth)+"/"+ String.valueOf(monthOfYear+1) +"/"+ String.valueOf(year); 
     dateEditText.setText(date); 
    } 
}; 

//==============Date Picker============================ 
+0

日期應不小於明天少?你的意思是設定最大日期嗎? – Lucifer 2013-05-07 05:14:56

回答

1

設置一個OnDateChangedListenerDateTimePicker,其中

onDateChanged(DatePicker view, int year, int monthOfYear, int dayOfMonth) 

檢查日期是否是在允許的範圍內,如果沒有,請撥打view.updateDate,允許最大或最小值(例如最接近輸入日期的值)。

1

使用setMinDate (long minDate)可設置此NumberPicker支持的最小日期,以毫秒爲單位,自1970年1月1日00:00:00起在getDefault()時區中。

如果您正在使用DatePickerDialog使用getDatePicker()得到DatePicker

+0

+1,沒有注意到這種方法,雖然OP仍然需要一個方法來限制支持的最大日期 – Axarydax 2013-05-07 05:36:23

+0

它也有setMaxDate參見http://developer.android.com/reference/android/widget/DatePicker.html#setMaxDate (long) – 2013-05-07 05:37:42

+0

現在回答這個問題肯定太早了! – Axarydax 2013-05-07 06:08:55

相關問題