ANDROID
ANDROID

Reputation: 44

how can set max date in date picker kotlin android

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

Answers (1)

Jorge Pastor
Jorge Pastor

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

Related Questions