android 5 lolipop 中的日期选择器对话框问题

Date picker dialog issue in android 5 lolipop

I can't show the another date in android 5 lollipop.

DatePickerDialog.OnDateSetListener onDateSetListener = new DatePickerDialog.OnDateSetListener() {
                        @Override
                        public void onDateSet(DatePicker datePicker, int year, int month, int dayOfMonth) {

                        }
                    };

DatePickerDialog datePickerDialog = new DatePickerDialog(activity, R.style.DatePickerDialogStyle, onDateSetListener, 2019, 9, 19);

datePickerDialog.show();

我使用的是以下日期选择器样式

 <style name="DatePickerDialogStyle">
        <item name="showTitle">false</item>
        <item name="colorControlActivated">@color/colorAccent</item>
        <item name="android:headerBackground">@color/colorAccent</item>
  </style>

您只需要删除 DatePickerDialog

对象中的主题

你的DatePickerDialog初始化对象会是这样

DatePickerDialog(getViewActivity(), onDateSetListener,  Calendar.getInstance().get(Calendar.YEAR), Calendar.getInstance().get(Calendar.MONTH), Calendar.getInstance().get(Calendar.DAY_OF_MONTH))

让我知道它是否有效我还没有在 Lollipop 设备中检查过这个

  • 我认为这是风格问题。

检查一下

在我的代码中,我添加了名称为 "DatePickerDialogStyle"

的自定义样式

在 style.xml 文件中添加此样式:-

<style name="DatePickerDialogStyle">
    <item name="showTitle">false</item>
    <item name="colorControlActivated">@color/colorAccent</item>
    <item name="android:headerBackground">@color/colorAccent</item>
    <item name="android:windowIsFloating">true</item>
    <item name="android:textColorSecondary">@color/black</item>
</style>

Example :-

DatePickerDialog datePickerDialog = new DatePickerDialog(activityName.this, R.style.DatePickerDialogStyle, new DatePickerDialog.OnDateSetListener() {
                @Override
                public void onDateSet(DatePicker view, int year, int month, int dayOfMonth) {

                }
            }, year, month, day);
            datePickerDialog.show();

希望有用。