首页 > 解决方案 > DatePickerDialog 中未显示该月的最后一个日期

问题描述

DatePickerDialog用来选择日期。当月份从一周的最后一天开始,并且有 31 天时,它不显示该月的最后一天。例如,2019 年 12 月从星期日开始,不显示日期 30 日和 31 日。

我试图设置datepickerdialog.setFirstDayOfWeek(Calender.SUNDAY). 从星期六开始的几个月内,这个问题仍然保持不变。

dpd = DatePickerDialog.newInstance(
                    JobAssignedActivity.this,
                    now.get(Calendar.YEAR),
                    now.get(Calendar.MONTH),
                    now.get(Calendar.DAY_OF_MONTH)
            );


            Calendar minDate = Calendar.getInstance();
 dpd.setMinDate(minDate);
            dpd.setFirstDayOfWeek(Calendar.SUNDAY);
            dpd.setAccentColor(ContextCompat.getColor(this, R.color.mdtp_accent_color));
            dpd.show(getFragmentManager(), "Datepickerdialog");

如何显示当月的最后一行?在此处输入图像描述

标签: javaandroiddatepickerdialog

解决方案


试试这个它会给出正确的输出

DatePickerDialog.OnDateSetListener onDateSetListener = new DatePickerDialog.OnDateSetListener() {

    @Override
    public void onDateSet(DatePicker view, int year, int monthOfYear,int dayOfMonth) {
        Log.v("onDateSet",dayOfMonth+"/"+(monthOfYear+1)+"/"+year);
    }

};

final Calendar cal = Calendar.getInstance();
new DatePickerDialog(YourActivity.this, onDateSetListener, 
    cal.get(Calendar.YEAR), cal.get(Calendar.MONTH),
    cal.get(Calendar.DAY_OF_MONTH)).show();

推荐阅读