Jestem nastawiony na i za pomocą interfejsu API 21 poziomu, używając AppCompat v21.Możliwość wybrania przyszłej daty ustawienia daty maksymalnej w datepickeru
Daje mi to ładnie szuka nowego wyboru daty, który ma nieoczekiwaną właściwość pozwala mi wybrać przyszłą datę kiedy max date został ustawiony za pomocą
datePicker.setMaxDate(Calendar.getInstance().getTimeInMillis())
Przyszłe terminy są wyszarzone, ale mogę nadal wybierz dowolną z nich. Czy to błąd? Czy robię to źle? Czy istnieje sposób, aby uniemożliwić użytkownikowi wybieranie przyszłej daty w selektorze dat?
Stary Selektor daty Holo nie zezwalał na wybór przyszłej daty podczas ustawiania maksymalnej daty.
UPDATE:
Chociaż nie działa prawidłowo na moim Nexus 4 działa magazynie 5.0, czy działa poprawnie na moim Nexus 6 z systemem Android 5.1.1 magazynie. Być może był to błąd w systemie Android 5.0 i został naprawiony w wersji 5.1? Czy ktoś może potwierdzić?
więc co robimy? –
Po prostu zignorowałem wybraną datę, jeśli użytkownik wybrał datę w przyszłości i wyświetlił komunikat o błędzie (snackbar lub toast). Innym rozwiązaniem może być również użycie innego datepika, być może https://github.com/wdullaer/MaterialDateTimePicker –
W onDateSet() możemy umieścić czek taki jak ten Kalendarz kalendarza = Calendar.getInstance(); calendar.set (rok, monthOfYear, dayOfMonth); Kalendarz calendar1 = Calendar.getInstance(); if (calendar.getTime(). After (calendar1.getTime())) { Toast.makeToast (getApplicationContext, "Proszę wybrać poprawną datę, Toast.LENGTH_LONG) .show(); return; } – ashutiwari4