Reputation: 44
how can set max date in date picker Kotlin android
how can set current date in max date so user cannot enter future date
val date =
OnDateSetListener { view, year, monthOfYear, dayOfMonth ->
myCalendar.set(Calendar.YEAR, year)
myCalendar.set(Calendar.MONTH, monthOfYear)
myCalendar.set(Calendar.DAY_OF_MONTH, dayOfMonth)
dob.set(year,monthOfYear,dayOfMonth)
var age = today[Calendar.YEAR] - dob[Calendar.YEAR]
if (today[Calendar.DAY_OF_YEAR] < dob[Calendar.DAY_OF_YEAR]) {
age--
}
val ageInt = age
val ageS = ageInt.toString()
("Age : $ageS").also { binding.ageText.text = it }
updateLabel()
}
binding.edtBirthdate.setOnClickListener {
context?.let { it1 ->
DatePickerDialog(
it1, date, myCalendar[Calendar.YEAR],
myCalendar[Calendar.MONTH],
myCalendar[Calendar.DAY_OF_MONTH]
)
.show()
}
}
Upvotes: 0
Views: 690
Reputation: 1038
In Kotlin, you can do something like
DatePickerDialog(
it1, date, myCalendar[Calendar.YEAR],
myCalendar[Calendar.MONTH],
myCalendar[Calendar.DAY_OF_MONTH]
)
.apply { datePicker.maxDate = Date().time }
.show()
Upvotes: 2