0

我还需要在我的 datePicker 中禁用过去的日期和周末。我正在使用科特林。

对于过去的日期,这条线工作正常

//Disable past dates
datePickerDialog.datePicker.minDate = cal.timeInMillis

https://www.freakyjolly.com/android-material-datepicker-and-timepicker-by-wdullaer-tutorial-by-example/

在此链接上,我找到了如何禁用周六和周日,但对于这一行

 datePickerDialog.setDisabledDays(disabledDays);

我没有从 datePicker 中选择 setDisabledDays 或类似选项的选项,我认为自 2019 年以来已经发生了变化(当时发布了帖子)。您知道我应该如何指定需要禁用的日期吗?

4

1 回答 1

1

尝试改用以下内容。您必须将数组Calendar作为参数传递,其中包含所有可选择的日期。

datePickerDialog.setSelectableDays(Calendar[] days)

编辑:因为你没有图书馆。您需要在您的build.gradle

dependencies {
    implementation 'com.wdullaer:materialdatetimepicker:4.2.3'
}

您还需要添加Java8兼容性

android {
  ...
  // Configure only for each module that uses Java 8
  // language features (either in its source code or
  // through dependencies).
  compileOptions {
    sourceCompatibility JavaVersion.VERSION_1_8
    targetCompatibility JavaVersion.VERSION_1_8
  }
}

您可以在此处找到必要的信息。

https://github.com/wdullaer/MaterialDateTimePicker

于 2021-06-19T12:58:57.477 回答