MainActivity.kt
package com.cfsuman.kotlintutorials
import android.os.Bundle
import android.text.method.ScrollingMovementMethod
import android.widget.Button
import android.widget.TextView
import androidx.appcompat.app.AppCompatActivity
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
// get the widgets reference from XML layout
val textView = findViewById<TextView>(R.id.textView)
val btnBasicEnum = findViewById<Button>(R.id.btnBasicEnum)
val btnEnumValues = findViewById<Button>(R.id.btnEnumValues)
val btnMultiValues = findViewById<Button>(R.id.btnMultiValues)
// make textview content scrollable
textView.movementMethod = ScrollingMovementMethod()
// Basic enum class
btnBasicEnum.setOnClickListener{
val builder = StringBuilder()
builder.append("Basic usage of enum class")
builder.append("\n\nPosition.Top = ${Position.Top}")
builder.append("\nPosition.Right = ${Position.Right}")
builder.append("\nPosition.Bottom = ${Position.Bottom}")
builder.append("\nPosition.Left = ${Position.Left}")
textView.text = builder.toString()
}
// Enum with values
btnEnumValues.setOnClickListener{
val builder = StringBuilder()
builder.append("Enum with values")
builder.append("\n\nBangladesh = ${
Capital.Bangladesh.capital}")
builder.append("\nIndia = ${Capital.India.capital}")
builder.append("\nSweden = ${Capital.Sweden.capital}")
builder.append("\nAustralia = ${
Capital.Australia.capital}")
builder.append("\nQatar = ${Capital.Qatar.capital}")
textView.text = builder.toString()
}
// Enum with multiple values
btnMultiValues.setOnClickListener{
val builder = StringBuilder()
builder.append("Enum with multiple values")
builder.append("\n\nAustria = ${Country.Austria.capital} " +
": ${Country.Austria.currency}")
builder.append("\nChina = ${Country.China.capital} " +
": ${Country.China.currency}")
builder.append("\nEgypt = ${Country.Egypt.capital} " +
": ${Country.Egypt.currency}")
builder.append("\nFrance = ${Country.France.capital} " +
": ${Country.France.currency}")
textView.text = builder.toString()
}
}
}
// Basic enum class
enum class Position{
Top, Right, Bottom, Left
}
// Enum with values
enum class Capital(val capital:String){
Bangladesh("Dhaka"),
India("New Delhi"),
Sweden("Stockholm"),
Australia("Canberra"),
Qatar("Doha")
}
// Enum with multiple values
enum class Country(val capital:String, val currency:String){
Austria("Vienna","Euro"),
China("Beijing","Chinese Yuan"),
Egypt("Cairo","Egyptian Pound"),
France("Paris","Euro; CFP Franc")
}
activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout
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"
android:background="#F8F8F8"
android:padding="8dp">
<Button
android:id="@+id/btnBasicEnum"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Basic Enum"
android:textAllCaps="false"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<Button
android:id="@+id/btnEnumValues"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
android:text="Enum Values"
android:textAllCaps="false"
app:layout_constraintBottom_toBottomOf="@+id/btnBasicEnum"
app:layout_constraintStart_toEndOf="@+id/btnBasicEnum" />
<Button
android:id="@+id/btnMultiValues"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
android:text="Multi Values"
android:textAllCaps="false"
app:layout_constraintBottom_toBottomOf="@+id/btnEnumValues"
app:layout_constraintStart_toEndOf="@+id/btnEnumValues" />
<TextView
android:id="@+id/textView"
android:layout_width="0dp"
android:layout_height="0dp"
android:layout_marginTop="16dp"
android:fontFamily="sans-serif"
android:textSize="24sp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/btnBasicEnum" />
</androidx.constraintlayout.widget.ConstraintLayout>



- kotlin - SwipeRefreshLayout example
- kotlin - Handler and Runnable example
- kotlin - Vibrate phone programmatically
- kotlin - Android Palette API Example
- kotlin - HashMap example
- kotlin - File provider image share internal storage
- kotlin - Room database example
- kotlin - Google maps example
- kotlin - TextInputLayout and TextInputEditText example
- kotlin - Material button example