Open In App

Android EditText in Kotlin

Improve
Improve
Improve
Like Article
Like
Save Article
Save
Share
Report issue
Report

EditText is used to get input from the user. EditText is commonly used in forms and login or registration screens. Following steps are used to create EditText in Kotlin:

  1. Add a EditText in activity_main.xml file.
  2. Add a Button in activity_main.xml file.
  3. Open MainActivity.kt file and set OnClickListener for the button to get the user input from EditText and show the input as Toast message.

Different attributes of EditText widgets –

XML Attributes Description
android:id Used to uniquely identify the control
android:gravity Used to specify how to align the text like left, right, center, top, etc.
android:hint Used to display the hint text when text is empty
android:text Used to set the text of the EditText
android:textSize Used to set size of the text.
android:textColor Used to set color of the text.
android:textStyle Used to set style of the text. For example, bold, italic, bolditalic etc.
android:textAllCaps Used this attribute to show the text in capital letters.
android:width It makes the TextView be exactly this many pixels wide.
android:height It makes the TextView be exactly this many pixels tall.
android:maxWidth Used to make the TextView be at most this many pixels wide.
android:minWidth Used to make the TextView be at least this many pixels wide.
android:background Used to set background to this View.
android:backgroundTint Used to set tint to the background of this view.
android:clickable Used to set true when you want to make this View clickable. Otherwise, set false.
android:drawableBottom Used to set drawable to bottom of the text in this view.
android:drawableEnd Used to set drawable to end of the text in this view.
android:drawableLeft Used to set drawable to left of the text in this view.
android:drawablePadding Used to set padding to drawable of the view.
android:drawableRight Used to set drawable to right of the text in this view.
android:drawableStart Used to set drawable to start of the text in this view.
android:drawableTop Used to set drawable to top of the text in this view.
android:elevation Used to set elevation to this view.

activity_main.xml file

Step 1: Open activity_main.xml file and create an EditText using id editText. 

html




<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
        xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:tools="http://schemas.android.com/tools"
        android:orientation="vertical"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        tools:context=".MainActivity">
 
     <!--EditText with id editText-->
 
    <EditText
            android:id="@+id/editText"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_margin="16dp"
            android:hint="Input"
            android:inputType="text"/>
 
</LinearLayout>


Step 2: In activity_main.xml file add code to show a button. Final activity_main.xml file is 

html




<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
        xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:tools="http://schemas.android.com/tools"
        android:orientation="vertical"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        tools:context=".MainActivity">
 
     <!--EditText with id editText-->
 
    <EditText
            android:id="@+id/editText"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_margin="16dp"
            android:hint="Input"
            android:inputType="text"/>
 
    <!--Button with id showInput-->
 
    <Button
            android:id="@+id/showInput"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center_horizontal"
            android:text="show"
            android:backgroundTint="@color/colorPrimary"
            android:textColor="@android:color/white"
            />
 
</LinearLayout>


Step 3: Open MainActivity.kt file and get the reference of Button and EditText defined in the layout file.

        // finding the button
        val showButton = findViewById<Button>(R.id.showInput)
        
        // finding the edit text
        val editText = findViewById<EditText>(R.id.editText)

Setting the on click listener to the button

showButton.setOnClickListener {
            
        }

Getting the text entered by user

val text = editText.text

MainActivity.kt file

Finally the MainActivity.kt file is 

java




package com.geeksforgeeks.myfirstkotlinapp
 
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.widget.Button
import android.widget.EditText
import android.widget.Toast
 
class MainActivity : AppCompatActivity() {
 
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)
 
        // finding the button
        val showButton = findViewById<Button>(R.id.showInput)
 
        // finding the edit text
        val editText = findViewById<EditText>(R.id.editText)
 
        // Setting On Click Listener
        showButton.setOnClickListener {
 
            // Getting the user input
            val text = editText.text
 
            // Showing the user input
            Toast.makeText(this, text, Toast.LENGTH_SHORT).show()
        }
    }
}


AndroidManifest.xml file

xml




<?xml version="1.0" encoding="utf-8"?>
    package="com.geeksforgeeks.myfirstkotlinapp">
 
    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:roundIcon="@mipmap/ic_launcher_round"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">
        <activity android:name=".MainActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
 
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>
 
</manifest>


Run as emulator for the Output



Last Updated : 25 Nov, 2022
Like Article
Save Article
Previous
Next
Share your thoughts in the comments
Similar Reads