алгоритм такой: При создании активити, устанавливается текущая дата. И всё верно. Она показывается. Теперь жму на TextView
, появляется DatePikerDialog
. В нем из TextView
считывается дата, парсится и устанавливается. Так что при нажатии на диалог фрагмент я вижу что “курсор” наведен на текущую дату. Если я кликаю на другое число, то снова кликнуть на текущую дату не удается. Проблема кроется в том, что установлено ограничение datePiker.setMaxDate(System.currentTimeMillis());
Это текущая дата, например 27 число и время уже 6 вечера. Проблема: Пробую на многих эмуляторах от апи 16 до 27, и на них всё работает. А на моем подключенном смартфоне с андроид 5.1.1 не работает.
Начал экспериментировать: datePiker.setMaxDate(System.currentTimeMillis() + 1000);
добавил одну секунду. Теперь открыв пикер у меня ровно одна секунда, чтобы выбрать текущую дату, если не успел, то уже она становится не кликабельна (хотя и горит не тусклым).
Ставлю 5 секунд: открываю пикер и пока 5 сек не истекли, я могу еще кликнуть на текущую дату, но если я в течении 5 секунд буду выбирать текущую, а потом убирать и на это уйдет больше 5 сек, вернуться на текущую дату я не смогу.
Делаю вывод, что именно на этом апи таймПикер ставит верхним пределом, не день, а точное текущее время вплоть до миллисекунд. И решением будет добавить секунд 10 на выбор. Но если время уже без 9 сек полночь, то у меня еще 10 секунд выбрать день не текущий, а уже следующий день. Это плохо.
Кто нибудь может подтвердить правильность моего вывода?