Если вы не меняли какие-либо стили, я думаю, что это как-то связано с тем, как Kotlin получает контекст в этой строке:
return DatePickerDialog(requireContext(), this, year, month, dayOfMonth)
Для JavaВы бы назвали DatePickerDialog следующим образом:
return new DatePickerDialog(getActivity(), this, year, month, day);
ссылка на документы для Android
Я не специалист по Kotlin, но я использовал конвертер Java в Kotlin здесь вернул Kotlin в виде этой строки:
return DatePickerDialog(getActivity(), this, year, month, day)
Обычный DatePickerDialog не отображает кнопки «ОК» и «Отмена» с цветом фона кнопки по умолчанию.Он отображает белый фон и устанавливает для текста кнопки этот цвет по умолчанию.
Я думаю, что ваш код каким-то образом извлекает контекст стилей кнопок из родительской активности или по умолчанию вашего приложения, что соответствует цвету фонакнопок основного стиля вместо обычной перезаписи даты на белый фон.
Мое лучшее предположение заключается в том, что вы используете новые requireContext()
и requireActivity()
методы здесь ;Однако почему вы используете контекст вместо деятельности?Попробуйте вместо этого requireActivity()
:
return DatePickerDialog(requireActivity(), this, year, month, dayOfMonth)
После использования этой строки и / или getActivity()
, как показано выше, обновите.