【问题标题】:Android DatePickerDialog date highlighted in all years?Android DatePickerDialog 日期突出显示所有年份?
【发布时间】:2017-01-25 09:45:17
【问题描述】:

我创建了一个 DatePickerDialog 并传递了一个自定义的年份、日期、日期(例如,我已经过了 2017 年 1 月 26 日)。这表明我在所有年份中都突出显示了 1 月 26 日。如何避免这种情况并仅在 2017 年显示 1 月 26 日?

 DatePickerDialog datePickerDialog = new DatePickerDialog(MainActivity.this, new DatePickerDialog.OnDateSetListener() {
        @Override
        public void onDateSet(DatePicker datePicker, int year, int month, int dayOfMonth) {
            //TODO use selected date
        }
    }, year, month, day);
    datePickerDialog.getDatePicker().updateDate(2017, 0, 26);
    datePickerDialog.getDatePicker().setMaxDate(datePickerDialog.getDatePicker().getMaxDate());
    datePickerDialog.setTitle("Pick date");
    datePickerDialog.show();

【问题讨论】:

  • 这是 DatePicker 本身的一个错误。不确定它是在哪个版本中修复的,但 API 26 有,API 29 没有。 Commit that fixed it。除非您使用一些自定义日期选择器,否则可能无法解决它,例如 MaterialDatePicker

标签: android datepicker


【解决方案1】:
@shabhan, used this code.

 final Calendar c = Calendar.getInstance();
        year = c.get(Calendar.YEAR);
        month = c.get(Calendar.MONTH);
        day = c.get(Calendar.DAY_OF_MONTH);

        DatePickerDialog dpd = new DatePickerDialog(this,
                new DatePickerDialog.OnDateSetListener() {

                    @Override
                    public void onDateSet(DatePicker view, int mYear,
                                          int monthOfYear, int dayOfMonth) {

                        year = mYear;
                        month = monthOfYear;
                        day = dayOfMonth;

                        tvBirthDate.setText(new StringBuilder().append(month + 1)
                                .append("-").append(day).append("-").append(year).append(" "));

                    }
                }, month, day, year);

        dpd.getDatePicker().setMaxDate(System.currentTimeMillis());

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-11-22
    • 2015-08-20
    相关资源
    最近更新 更多