In this Kotlin code example we will learn how to create DatePicker in Kotlin programmatically. To break it in more details the code example below will cover:
- Create DatePicker in LinearLayout
- Initialize DatePicker with current date( Year, Month and Day)
- When user changes the DatePicker values, call OnDateChangeListener and get input from the DatePicker
- Set DatePicker values like Year, Month and Day into a TextView
XML Layout File
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" android:id="@+id/linearLayout" android:orientation="vertical" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context="com.appsdeveloperblog.kotlinexample3.DatePickerExample"> </LinearLayout>
Create DatePicker In Kotlin Programmatically. Code Example.
import android.os.Build import android.support.v7.app.AppCompatActivity import android.os.Bundle import android.support.annotation.RequiresApi import android.widget.DatePicker import android.widget.LinearLayout import android.widget.TextView import java.util.* class DatePickerExample : AppCompatActivity() { @RequiresApi(Build.VERSION_CODES.O) override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_date_picker_example) val linearLayout = findViewById(R.id.linearLayout) as LinearLayout val textView = TextView(this) linearLayout.addView(textView) val datePicker = DatePicker(this) textView.text = "Year: "+datePicker.year+ " Month: "+ (datePicker.month+1) +" Day: "+ datePicker.dayOfMonth val calendar = Calendar.getInstance() calendar.timeInMillis = System.currentTimeMillis() datePicker.init(calendar.get(Calendar.YEAR), calendar.get(Calendar.MONTH), calendar.get(Calendar.DAY_OF_MONTH), DatePicker.OnDateChangedListener { datePicker, year, month, day-> textView.text = "Year: "+ year + " Month: "+ (month+1) + " Day: "+day }) linearLayout.addView(datePicker) } }
If you run this Kotlin code example you should get the view as on the picture below. The text line above the calendar view displays the selected Year, Month and Day. Users can tap on a different day or choose a different month or even a year.
I hope this example was helpful!
If you are looking for more code examples in Kotlin or even longer step by step Kotlin tutorials, checkout the Android->Kotlin category of this blog.
And if you are looking for books or video tutorials on Kotlin check the list of resources below. I hope you will find some of them helpful!
Happy learning Kotlin!
Building Mobile Apps with Kotlin for Android – Books