gpt4 book ai didi

android - 如何在 Kotlin Android 的 DatePicker 中禁用 future 日期

转载 作者:行者123 更新时间:2023-11-29 22:54:01 26 4
gpt4 key购买 nike

我在使用 Kotlin 的 Android 项目中使用 DatePickerDialog。我已经成功创建了 DatePickerDialog 并且工作正常。 现在我想像在 DatePickerDialog 中一样进行一些验证,我想禁用 future 的日期。例如,今天是 2019 年 8 月 22 日,我想禁用今天之后的所有日期。

我尝试使用 dateSetListener.getDatePicker().setMaxDate(System.currentTimeMillis())

但是没用

var cal = Calendar.getInstance()

// create an OnDateSetListener

val dateSetListener = object : DatePickerDialog.OnDateSetListener {

override fun onDateSet(
view: DatePicker, year: Int, monthOfYear: Int,
dayOfMonth: Int
) {
cal.set(Calendar.YEAR, year)
cal.set(Calendar.MONTH, monthOfYear)
cal.set(Calendar.DAY_OF_MONTH, dayOfMonth)
updateDateInView()

}

// dateSetListener.getDatePicker().setMaxDate(calendar.getTimeInMillis());
}

// when you click on the button, show DatePickerDialog that is set with OnDateSetListener
button_date!!.setOnClickListener(object : View.OnClickListener {
override fun onClick(view: View) {

DatePickerDialog(this@MainActivity,
dateSetListener,
// set DatePickerDialog to point to today's date when it loads up
cal.get(Calendar.YEAR),
cal.get(Calendar.MONTH),
cal.get(Calendar.DAY_OF_MONTH)).show()
}
})```

最佳答案

试试这个

var dialog = DatePickerDialog(
this@MainActivity,dateSetListener,
// set DatePickerDialog to point to today's date when it loads up
cal.get(Calendar.YEAR),
cal.get(Calendar.MONTH),
cal.get(Calendar.DAY_OF_MONTH)
)

dialog.datePicker.maxDate = Calendar.getInstance().timeInMillis
dialog.show()

关于android - 如何在 Kotlin Android 的 DatePicker 中禁用 future 日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57607470/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com