首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在MaterialDatePicker对话框Android中设置年份限制

如何在MaterialDatePicker对话框Android中设置年份限制
EN

Stack Overflow用户
提问于 2022-09-17 12:02:18
回答 1查看 93关注 0票数 1

我在找最大的麻烦。还有敏。在“材料设计数据集”对话框中,还放置“材料日期选择器”对话框的图像,其中仅显示一年。

下面的是代码

代码语言:javascript
复制
    long today = MaterialDatePicker.todayInUtcMilliseconds();
            Calendar calendar = Calendar.getInstance(TimeZone.getDefault());

              calendar.set(Calendar.MONTH, Calendar.JANUARY);
              long jan = calendar.getTimeInMillis();
                calendar.setTimeInMillis(today);


             int lastMonth = calendar.get(Calendar.MONTH);
                calendar.set(Calendar.MONTH, lastMonth);
                long dec = calendar.getTimeInMillis();


        CalendarConstraints.Builder calendarConstraintBuilder = new CalendarConstraints.Builder();
        calendarConstraintBuilder.setValidator(DateValidatorPointBackward.now());
        calendarConstraintBuilder.setStart(jan);
        calendarConstraintBuilder.setEnd(dec);

        MaterialDatePicker.Builder<Long> materialBuilder = MaterialDatePicker.Builder.datePicker();
        materialBuilder.setTitleText("Select Date Of Birth");
        materialBuilder.setSelection(today);


        materialBuilder.setCalendarConstraints(calendarConstraintBuilder.build());



        final MaterialDatePicker<Long> materialDatePicker = materialBuilder.build();
        inputEditTextDateOfBirth.setShowSoftInputOnFocus(false);

EN

回答 1

Stack Overflow用户

发布于 2022-09-17 13:32:33

对于其他读者,请注意此问题与单击月份小部件后的年份选择有关。

对于年份范围选择目的,您缺少一行:

代码语言:javascript
复制
    // set minimum year variable
    int minYear = 2010;

    // here you set the month using the "current" calendar instance
    calendar.set(Calendar.MONTH, Calendar.JANUARY);

    // but you need to also set the year of "min"
    calendar.set(Calendar.YEAR, minYear);

    // and then get a snapshot of that time.
    long jan = calendar.getTimeInMillis();

我不确定这是否完全满足了你的要求,但至少它有一年的时间。文本的显示是我使用addOnPositiveButtonClickListener测试驱动程序的一部分。

正如我所好奇的,这也阻止了“月份选择器箭头”比“min”更早地前进:

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73754651

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档