【问题标题】:How to disable certain dates in android in datetime picker如何在日期时间选择器中禁用 android 中的某些日期
【发布时间】:2016-11-29 10:59:03
【问题描述】:

我已经尝试了很多,但对我没有任何效果,谁能帮助我如何禁用日历中的某些日期 这是我的代码,但它只是隐藏了过去的日期。

         final Calendar c = Calendar.getInstance();
            mYear = c.get(Calendar.YEAR);
            mMonth = c.get(Calendar.MONTH);
            mDay = c.get(Calendar.DAY_OF_MONTH);


            DatePickerDialog datePickerDialog = new DatePickerDialog(MoreDetail.this,
                    new DatePickerDialog.OnDateSetListener() {

                        @Override
                        public void onDateSet(DatePicker view, int year,
                                              int monthOfYear, int dayOfMonth) {
                            String s = dayOfMonth + "" + "-" + monthOfYear + 1 + "" + "-" + year + "";
                        }
                    }, mYear, mMonth, mDay);
            Calendar minDate = Calendar.getInstance();
            minDate.set(mYear, mMonth, mDay);
            datePickerDialog.getDatePicker().setMinDate(minDate.getTimeInMillis());
            datePickerDialog.show();

【问题讨论】:

  • 你不能禁用某些日期 - 你只能设置范围(最小/最大)...但是这个String s = dayOfMonth + "" + "-" + monthOfYear + 1 + "" + "-" + year + "";great
  • @Innocent:检查一下 -> stackoverflow.com/a/34730506/4018207
  • 到目前为止,您可以做的是创建一个应该禁用的日期列表。用户选择日期后,检查日期是否在禁用日期列表中。如果它在禁用日期列表中,则生成错误祝酒词并再次显示日历。
  • @AndiGeeky 你知道的更多图书馆请推荐我
  • @Innocent:也检查一下-> github.com/square/android-times-square

标签: android android-calendar android-datepicker


【解决方案1】:

请查看此 GitHub 存储库以获取 CustomDatePicker

https://github.com/wdullaer/MaterialDateTimePicker

setDisabledDays(日历[] 天)

此 Calendar[] 中的值被明确禁用(不可选择)。此选项可以与 setSelectableDays(Calendar[] days) 一起使用:如果发生冲突 setDisabledDays(Calendar[] days) 将优先于 setSelectableDays(Calendar[] days)

谢谢。

【讨论】:

  • 这不允许超过一年,只有 nov 和 dec 是不够的
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-04-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-01-25
  • 1970-01-01
相关资源
最近更新 更多