首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >setSelecteableDays材料DateTime Picker

setSelecteableDays材料DateTime Picker
EN

Stack Overflow用户
提问于 2017-05-19 10:37:28
回答 1查看 703关注 0票数 0

我正在尝试使用材料DateTimePicker库。

问题是,当我在minDatemaxDate中设置一个datePicker和一个可选择日期数组时,dataPicker没有显示我希望得到什么

代码语言:javascript
复制
            Calendar minDate = Calendar.getInstance();
            minDate.set(Calendar.YEAR, 2016);
            minDate.set(Calendar.MONTH, 5);
            minDate.set(Calendar.DAY_OF_MONTH, 1);

            Calendar maxDate = Calendar.getInstance();
            maxDate.set(Calendar.YEAR, 2016);
            maxDate.set(Calendar.MONTH, 10);
            maxDate.set(Calendar.DAY_OF_MONTH, 30);

            Calendar aDate = Calendar.getInstance();
            maxDate.set(Calendar.YEAR, 2016);
            maxDate.set(Calendar.MONTH, 6);
            maxDate.set(Calendar.DAY_OF_MONTH, 26);

            Calendar aDate1 = Calendar.getInstance();
            maxDate.set(Calendar.YEAR, 2016);
            maxDate.set(Calendar.MONTH, 5);
            maxDate.set(Calendar.DAY_OF_MONTH, 22);

            Calendar[] availableDate = new Calendar[2];
            availableDate[0] = aDate;
            availableDate[1] = aDate1;

            DatePickerDialog datePickerDialog = DatePickerDialog.newInstance(ProvaDatePicker.this, availableDate[0].get(Calendar.YEAR), availableDate[0].get(Calendar.MONTH), availableDate[0].get(Calendar.DAY_OF_MONTH));

            datePickerDialog.setMinDate(minDate);
            datePickerDialog.setMaxDate(maxDate);
            datePickerDialog.setSelectableDays(availableDate);
            datePickerDialog.setTitle("Available date");
            datePickerDialog.show(getFragmentManager(), "title");

这就是结果

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-05-19 11:03:04

您将代码中的日期设置为到2016年的年份,然后在屏幕截图中显示年份为2017。

要查看启用的两天,您需要转到2016年5月或更改日历实例的年份

你的任务是错误的:

代码语言:javascript
复制
 Calendar aDate = Calendar.getInstance();
 maxDate.set(Calendar.YEAR, 2016);
 maxDate.set(Calendar.MONTH, 6);
 maxDate.set(Calendar.DAY_OF_MONTH, 26);

 Calendar aDate1 = Calendar.getInstance();
 maxDate.set(Calendar.YEAR, 2016);
 maxDate.set(Calendar.MONTH, 5);
 maxDate.set(Calendar.DAY_OF_MONTH, 22);

在这里,您应该使用aDateaDate1赋值,同时将它们一次又一次地分配给maxDate

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

https://stackoverflow.com/questions/44067870

复制
相关文章

相似问题

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