반응형
최소 DatePicker 날짜를 현재 날짜로 설정하는 방법
사용자가 DatePicker에서 선택할 수있는 최소 날짜를 현재 날짜로 설정하고 싶습니다. 나는 이것을 시도했다 :
DatePicker datePicker = (DatePicker) findViewById(R.id.event_date);
datePicker.setMinDate(System.currentTimeMillis());
다음과 같은 예외가 있습니다.
12-01 12:23:31.226: E/AndroidRuntime(10311): Caused by: java.lang.IllegalArgumentException: fromDate: Sat Dec 01 12:23:31 EST 2012 does not precede toDate: Sat Dec 01 12:23:31 EST 2012
어떻게해야합니까?
이 오류는 최소 날짜를 정확히 지금으로 설정할 수 없다고 말합니다 . 1 초 빼기 :
datePicker.setMinDate(System.currentTimeMillis() - 1000);
소스 코드에서 최소 날짜는 현재 날짜와 같지 않고 이전이어야합니다.
if (date.before(mMinDate)) {
throw new IllegalArgumentException("fromDate: " + mMinDate.getTime()
+ " does not precede toDate: " + date.getTime());
}
따라서 지금부터 충분한 시간을 빼면됩니다 ( System.currentTimeMillis()
) date.before(mMinDate)
.
사용자 정의 대화 상자를 사용하지 않으려는 경우. 다음 한 줄 코드를 사용하십시오.
datePickerDialog.getDatePicker().setMinDate(System.currentTimeMillis());
이것은 나를 위해 완벽하게 작동했습니다. 쉽고 좋습니다.
DatePickerDialog dialog = new DatePickerDialog(this, this,
Calendar.YEAR,Calendar.MONTH,
Calendar.DAY_OF_MONTH);
dialog.getDatePicker().setMinDate(Calendar.getInstance().getTimeInMillis());
dialog.show();
Android DatePickerDialog 설정 최소 및 최대 날짜 코드를 확인하십시오 .
여기에 예가 있습니다.
final Calendar c = Calendar.getInstance();
int year = c.get(Calendar.YEAR);
int month = c.get(Calendar.MONTH);
int day = c.get(Calendar.DAY_OF_MONTH);
DatePickerDialog dpd = new DatePickerDialog(getActivity(),AlertDialog.THEME_TRADITIONAL,this,year, month, day);
//Get the DatePicker instance from DatePickerDialog
DatePicker dp = dpd.getDatePicker();
//Set the DatePicker minimum date selection to current date
dp.setMinDate(c.getTimeInMillis());//get the current day
//dp.setMinDate(System.currentTimeMillis() - 1000);// Alternate way to get the current day
//Add 6 days with current date
c.add(Calendar.DAY_OF_MONTH,6);
//Set the maximum date to select from DatePickerDialog
dp.setMaxDate(c.getTimeInMillis());
//Now DatePickerDialog have 7 days range to get selection any one from those dates
이 줄을 DatePicker Fragment에 추가하면 최소 날짜가 현재 날짜로 설정되고 이전 달이 비활성화됩니다.
datePickerDialog.getDatePicker().setMinDate(System.currentTimeMillis());
이것은 당신을 도울 수 있습니다.
Calendar cal=Calendar.getInstance();
int year=cal.get(Calendar.YEAR);
int month=cal.get(Calendar.MONTH);
int day=cal.get(Calendar.DAY_OF_MONTH);
int hour=cal.get(Calendar.HOUR_OF_DAY);
int min=cal.get(Calendar.MINUTE);
datePicker.updateDate(year, month, day);
timePicker.setCurrentHour(hour);
timePicker.setCurrentMinute(min);
이 시도
datePicker.setMinDate(new GregorianCalendar.getTimeInMillis());
datePickerDialog.getDatePicker().setMinDate(System.currentTimeMillis());
또는
DatePickerDialog dialog = new DatePickerDialog(this, this,
Calendar.YEAR,Calendar.MONTH,
Calendar.DAY_OF_MONTH);
dialog.getDatePicker().setMinDate(Calendar.getInstance().getTimeInMillis());
dialog.show();
참조 URL : https://stackoverflow.com/questions/13661788/how-to-set-minimum-datepicker-date-to-current-date
반응형
'Programing' 카테고리의 다른 글
java.util.AbstractList.add의 UnsupportedOperationException (0) | 2020.12.28 |
---|---|
문자열을 long으로 변환하는 방법 (0) | 2020.12.28 |
브라우저가 jQuery를 사용하는 Chrome인지 감지하는 방법은 무엇입니까? (0) | 2020.12.28 |
위도 / 경도에 대한 Java double vs BigDecimal (0) | 2020.12.28 |
UIScrollView 내부에있는 UITextView에서 큰 텍스트가 잘림 (0) | 2020.12.28 |