Установка DatePickerDialog для разрешения дат до 1900 года

Я создаю игру по угадыванию дня рождения, которая принимает даты ввода пользователем из поля DatePickerDialog, которое появляется, когда пользователь касается поля textView. Единственная проблема заключается в том, что минимально допустимая дата - первое число 1900 года. Мне нужно иметь доступ к датам с 1700 года. Есть ли способ настроить минимальную дату, отображаемую в DatePickerDialog.

Это то, что у меня есть в моем файле main.java

//Date Bar initial display (will display current date)
    mDisplayDate.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            Calendar cal = Calendar.getInstance();
            int year = cal.get(Calendar.YEAR);
            int month = cal.get(Calendar.MONTH);
            int day = cal.get(Calendar.DAY_OF_MONTH);

            DatePickerDialog dialog = new DatePickerDialog(GuessMaster.this,
                    android.R.style.Theme_Holo_Light_Dialog_MinWidth,
                    mDateSetListener, year, month, day);
            dialog.getWindow().setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT));
            dialog.show();



        }
    });

    //Date Bar Input Listener
    mDateSetListener = new DatePickerDialog.OnDateSetListener() {
        @Override
        public void onDateSet(DatePicker view, int year, int month, int dayOfMonth) {
            month+=1;// now will treat january as 1 instead of 0
            String date = month+"/"+dayOfMonth+"/"+year;
            mDisplayDate.setText(date);

            Log.d(TAG, "onDateSet:"+year+"/"+month+"/"+dayOfMonth);

        }

Спасибо

Вы, наверное, уже смотрели XML-атрибут minDateDatePicker? Что произойдет, если вы установите его на 01/01/1700?

Ole V.V. 10.04.2018 10:30
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
0
1
226
1

Ответы 1

Попробуйте следующее:

dialog.getDatePicker().updateDate(year,month,day);

StackOverflow стремится получить качественные ответы на вопросы, чтобы они могли в долгосрочной перспективе помочь сообществу. Измените свой ответ, чтобы добавить дополнительные пояснения и подробности. См. Как мне написать хороший ответ и Как мне отформатировать свои сообщения. Например, поставьте перед фрагментами кода 4 пробела, чтобы они выглядели как code.

Alain Merigot 25.01.2019 22:27

Другие вопросы по теме