activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<layout>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity"
android:orientation="vertical"
>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Dialog Example"
/>
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/showdate"
/>
<Button
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/datepick"
android:text="Pick the date"
android:layout_margin="10dp"/>
</LinearLayout>
</layout>
MainActivity.kt
package com.androindian.dialogs
import android.app.DatePickerDialog
import android.app.Dialog
import android.app.TimePickerDialog
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.widget.Button
import android.widget.TimePicker
import android.widget.Toast
import androidx.appcompat.app.AlertDialog
import androidx.databinding.DataBindingUtil
import com.androindian.dialogs.databinding.ActivityMainBinding
import java.util.Calendar
import javax.xml.datatype.DatatypeConstants.MONTHS
class MainActivity : AppCompatActivity() {
var binding: ActivityMainBinding?=null
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
binding= DataBindingUtil.setContentView(this,R.layout.activity_main)
binding?.datepick?.setOnClickListener {
var calendar=Calendar.getInstance()
var myear=calendar.get(Calendar.YEAR)
var mmonth=calendar.get(Calendar.MONTH)
var mday=calendar.get(Calendar.DAY_OF_MONTH)
var datePickerDialog=DatePickerDialog(this@MainActivity,
DatePickerDialog.OnDateSetListener { view, year, monthOfYear, dayOfMonth ->
// Display Selected date in textbox
binding?.showdate?.setText("" + dayOfMonth + " -" + monthOfYear + "- " + year)
}, myear, mmonth, mday)
//datePickerDialog.getDatePicker().setMaxDate(System.currentTimeMillis());
datePickerDialog.getDatePicker().setMinDate(System.currentTimeMillis());
datePickerDialog.show()
}
}
}