Có thể đã quá muộn để trả lời, nhưng bạn có thể dễ dàng đặt ngày min
và max
cho DatePickerDialog
. Hoạt động cho tất cả các phiên bản Android. Chỉ cần bạn cần trả lại số DatePickerDialog
dựa trên phiên bản Android
protected Dialog onCreateDialog(int id)
{
switch (id)
{
case DATE_DIALOG_ID:
DatePickerDialog dialog = null;
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB)
{
dialog = new DatePickerDialog(this, new DatePickerDialog.OnDateSetListener()
{
@Override
public void onDateSet(DatePicker view, int selectedYear, int selectedMonth, int selectedDate)
{
mTextView.setText(selectedDate + "/" + selectedMonth + 1 + "/" + selectedYear);
}
}, year, month - 1, date);
Calendar currentDate = Calendar.getInstance();
dialog.getDatePicker().setMaxDate(currentDate.getTimeInMillis());
//If you need you can set min date too
}
else
{
dialog = new DatePickerDialog(this, new DatePickerDialog.OnDateSetListener()
{
@Override
public void onDateSet(DatePicker view, int selectedYear, int selectedMonth, int selectedDate)
{
mTextView.setText(selectedDate + "/" + selectedMonth + 1 + "/" + selectedYear);
}
}, year, month - 1, date)
{
@Override
public void onDateChanged(DatePicker view, int year, int month, int day)
{
if (year <= maxYear && month + 1 <= maxMonth && date <= maxDate) //meets your criteria
{
view.updateDate(year, month, date); //update the date picker to selected date
}
else
{
view.updateDate(maxYear, maxMonth - 1, maxDate); // or you update the date picker to previously selected date
}
}
};
}
return dialog;
}
return null;
}
Nguồn
2013-08-30 19:56:27
Tôi quản lý để lập trình ngày tối thiểu, có thể chọn tối đa & cũng đặt ngày hiện tại (mặc định) cho Chế độ xem DatePicker: http://stackoverflow.com/ question/6421874/how-to-get-the-date-set-in-the-datepicker-widget-in-android/7961268 # 7961268 –